sitemesh 예제

2019年8月2日

먼저 사이트메시가 수행하는 작업을 살펴보겠습니다. 일반적으로 웹 사이트에는 모든 페이지에 대한 공통 레이아웃이 있습니다. 헤더, 상단 또는 왼쪽 또는 오른쪽에 탐색 및 바닥글이 있습니다. 일반적으로 이러한 사이트에서는 jsp:include를 사용하여 헤더, 탐색 및 바닥글을 포함합니다. 이렇게 하면 유지 관리 문제가 발생합니다. Sitemesh를 사용 하 여, 우리는 헤더를 포함 할 필요가 없습니다., 탐색 및 바닥글 각 페이지에 모든 페이지. 우리는 페이지의 내용만 만들고 Sitemesh는 페이지에 헤더, 탐색 등을 추가합니다. 이 내 사이트에 거의 모든 페이지의 모양이라고 말할 수 있습니다 여기 web.xml에서 필터 체인을 구성하는 방법의 예입니다 :이 태그 라이브러리는 우리가이 페이지에 장식되는 페이지의 조각을 사용할 수 있습니다. 원래 페이지(데코레이팅하는 페이지)의 태그의 콘텐츠를 얻으려면 태그를 사용합니다. 데코레이팅된 페이지의 내용을 얻으려면 태그를 사용합니다. 사이트 메시 태그 목록은 여기에 표시됩니다.

taglib 지시문 base_layout.jsp에 이 코드가 포함된 후 Sitemesh를 사용하여 이 페이지에 템플릿을 적용하여 이 페이지에 헤더, 탐색 및 바닥글을 갖습니다. 사이트 메시는 WEB-INF 디렉터리에 배치되는 decorats.xml이라는 구성 파일을 통해 구성됩니다. 이 구성 파일은 Sitemesh에게 어떤 데코레이터(예: 템플릿)가 어떤 요청에 적용할지 알려줍니다. 이 예제에서는 모든 페이지에 적용되는 단일 데코레이터만 사용합니다. Sitemesh 구성 파일이 어떻게 보이는지, Sitemesh 플러그인은 Sitemesh 템플릿이 프레임 워크 리소스에 액세스 할 수 있습니다. Sitemesh는 인기 있는 타일 프레임워크와 유사한 페이지 데코팅 프레임워크입니다. 이 비교 방법은 참고하십시오: 이 게시물의 예는 스프링 4.0.6 및 SiteMesh 2.4.2를 사용합니다(그리고 스프링 4.2.x에서 작업). SiteMesh의 새로운 주요 버전이 출시되었지만 이 게시물의 제안으로 테스트되지 않았습니다. 아래와 같이 sitemesh.xml 옆에 WEB-INF 디렉토리 안에 다른 파일 데코레이터.xml을 만듭니다. 내부에 제공되는 경로 패턴은 사이트 메시에서 무시되므로 이미지, 스타일시트, 자바스크립트 등과 같은 정적 항목의 경로는 제외 태그 사이에 배치되어야 합니다. 예를 들어 로그인하지 않은 사용자에게 분산 레이아웃이 있을 수 있으며 안전하게 로그인한 사용자를 위한 다른 레이아웃이 있을 수 있습니다.

따라서 여러 레이아웃에 대해 여러 데코레이터를 정의하고 이 데코레이터의 레이아웃을 정의하는 레이아웃 jsp 페이지의 이름과 경로를 제공합니다. 데코레이터 태그 안에는 현재 레이아웃이 적용되는 URL 패턴을 정의하는 패턴 태그가 있습니다. 쿠키데코레이터매퍼의 좋은 예가 있습니까? Sitemesh가 작동하는 방식은 필터를 사용하여 Sitemesh가 처리할 수 있는 응용 프로그램에서 수신되는 모든 요청을 가로채는 것입니다. Sitemesh는 구성 문서(decorators.xml)를 사용하여 요청에 적용할 레이아웃 또는 템플릿(데코레이터라고 함)을 확인합니다(필요한 경우). 브라우저에서 home.jsp를 여는 것을 가정해 보겠습니다. 사이트 메시는 home.jsp를 구문 분석하여 페이지 개체에 저장합니다. 그런 다음 Sitemesh는 decorators.xml을 조사하여 home.jsp 페이지에 데코레이터를 적용해야 하는지 확인합니다. home.jsp에 대한 데코레이터를 정의하지 않은 경우 sitemesh는 데코레이터를 적용하지 않고 구문 분석된 home.jsp를 응답으로 보냅니다.

Sitemesh가 home.jsp에 데코레이터를 적용하도록 구성된 경우 Sitemesh는 요청을 데코레이터 페이지로 보냅니다(구문 분석된 home.jsp가 포함된 페이지 개체와 함께). 데코레이터는 브라우저로 전송되는 실제 출력을 렌더링합니다. 이것이 지금 이해가 되지 않는다면, 일단 우리가 계속 진행하게 될 것입니다. 이제 Sitemesh를 사용하여 장식할 index.jsp 페이지를 만들 수 있습니다. 이 페이지는 매우 간단한 페이지, 사이트 메시 데코레이터 템플릿에서 스트럿 태그를 사용할 수 있습니다이 예에서, 데코레이터는 정적 .html 파일이지만, 데코레이터가 더 동적인 하려면, JSP, FreeMarker 등과 같은 기술을 사용할 수 있습니다.

カテゴリー:未分類