예를 들어 사용자가 보고서 보기를 클릭하면 WEB-INF/jsp/모듈/ListReports.jsp가 실행됩니다. ListReports.jsp는 HTML 콘텐츠를 생성합니다. 이 콘텐츠를 내보내기 전에 SiteMesh 페이지 필터는 에서 지정한 위치에 콘텐츠를 삽입합니다. 그런 다음 전체 HTML 콘텐츠가 사용자의 브라우저로 전송됩니다. Sitemesh는 인기 있는 타일 프레임워크와 유사한 페이지 데코팅 프레임워크입니다. 이 비교 방법은 여기 web.xml에서 필터 체인을 구성 하는 방법의 예입니다: 아래와 같이 sitemesh.xml 옆에 WEB-INF 디렉토리 안에 다른 파일 decorators.xml을 만듭니다. 내부에 제공되는 경로 패턴은 사이트 메시에서 무시되므로 이미지, 스타일시트, 자바스크립트 등과 같은 정적 항목의 경로는 제외 태그 사이에 배치되어야 합니다. 예를 들어 로그인하지 않은 사용자에게 분산 레이아웃이 있을 수 있으며 안전하게 로그인한 사용자를 위한 다른 레이아웃이 있을 수 있습니다. 따라서 여러 레이아웃에 대해 여러 데코레이터를 정의하고 이 데코레이터의 레이아웃을 정의하는 레이아웃 jsp 페이지의 이름과 경로를 제공합니다.

데코레이터 태그 안에는 현재 레이아웃이 적용되는 URL 패턴을 정의하는 패턴 태그가 있습니다. 참고: 이 게시물의 예는 스프링 4.0.6 및 SiteMesh 2.4.2(스프링 4.2.x)를 사용합니다. SiteMesh의 새로운 주요 버전이 출시되었지만 이 게시물의 제안으로 테스트되지 않았습니다. Sitemesh 플러그인을 사용하면 Sitemesh 템플릿이 프레임워크 리소스에 액세스할 수 있습니다. 이제 Sitemesh를 사용하여 이 페이지에 템플릿을 적용하여 이 페이지에 헤더, 탐색 및 바닥글을 갖습니다. 사이트 메시는 WEB-INF 디렉터리에 배치되는 decorats.xml이라는 구성 파일을 통해 구성됩니다. 이 구성 파일은 Sitemesh에게 어떤 데코레이터(예: 템플릿)가 어떤 요청에 적용할지 알려줍니다. 이 예제에서는 모든 페이지에 적용되는 단일 데코레이터만 사용합니다.

이 자습서에서는 Sitemesh 구성 파일이 어떻게 보이는지 이 자습서에서 Sitemesh를 사용하여 간단한 샘플 응용 프로그램을 만듭니다. Sitemesh를 사용하는 것이 얼마나 쉬운지, 그리고 Sitemesh가 제공하는 엄청난 기능을 볼 수 있습니다. Sitemesh는 응용 프로그램의 모든 페이지에 레이아웃 관련 파일을 포함해야 하는 부담을 제거합니다. 이 자습서에서는 Sitemesh의 모든 기능을 탐색하지 는 않겠습니다. 데코레이터매퍼를 실제로 사용한 적이 없기 때문에 공유할 좋은 예가 없습니다. CookieDecoratorMapper는 꽤 작은 파일이므로 소스에서 무엇을하고 있는지 파악하는 것이 너무 어렵지 않습니다 :http://fisheye5.cenqua.com/browse/~raw,r=1.2/sitemesh/src/java/com/opensymphony/module/sitemesh/mapper/CookieDecoratorMapper.java이 템플릿 페이지는 다른 페이지를 장식하는 데코레이터입니다. 콘텐츠가 이 페이지에 추가되고 전체 페이지가 클라이언트로 전송됩니다. Sitemesh에서 이 작업을 수행하는 방법을 살펴보겠습니다. 먼저 사이트메시가 수행하는 작업을 살펴보겠습니다. 일반적으로 웹 사이트에는 모든 페이지에 대한 공통 레이아웃이 있습니다. 헤더, 상단 또는 왼쪽 또는 오른쪽에 탐색 및 바닥글이 있습니다. 일반적으로 이러한 사이트에서는 jsp:include를 사용하여 헤더, 탐색 및 바닥글을 포함합니다.

이렇게 하면 유지 관리 문제가 발생합니다.

sitemesh 예제