어떤 사이트를 들어가게 되면 header, footer, sidebar, nav등은 여러 페이지에서 같은 레이아웃을 같고, 내용부분만 변하게 된다.
이러한 레이아웃을 적용하는 방법에는 아래처럼 여러가지가 있다.
1. <jsp:include>나 <%@ include %> 사용
2. Tiles 사용
3. Sitemesh 사용
웹 페이지의 레이아웃을 효율적으로 처리할 수 있게 도와주는 프레임워크이다.
Sitemesh는 완전한 HTML 코드로부터 레이아웃이 적용된 새로운 HTML 코드를 생성해 내는 동작 방식이다.
예를 들어 레이아웃이 작성된 파일(Layout.jsp)과 내용이 작성된 파일(contents.jsp)이 있다고 할 때,
1. contents.jsp에서 HTML파일 생성
2. 생성한 HTML 파일을 Layout.jsp에 전달
3. Layout.jsp가 적용된 페이지를 생성 (이때, 필요한 메타정보나 body태그 내용 등을 추출 후 삽입)
4. 생성된 페이지 전달
출처
1. siteMesh 사이트메쉬란?
2. Sitemesh 설정, 사용방법, 옵션 등에 대한 정리 (jsp에서 테스트)