1. Jar File Download

http://wiki.sitemesh.org/wiki/display/sitemesh/Download

jar 다운로드. (테스트 버전 sitemesh-2.4.2.jar)


** Maven dependency 추가 

<!-- sitemesh -->

<dependency>

<groupId>opensymphony</groupId>

<artifactId>sitemesh</artifactId>

<version>2.4.2</version>

</dependency>



2.필터설정 (web.xml)

- filter를 설정하여 요청받은 url을 가로채기 위해 web.xml에 아래 설정을 추가한다.

(모든 url에 적용되도록 설정하였다)

<!-- sitemesh -->

 <filter>

  <filter-name>sitemesh</filter-name>

  <filter-class>

   com.opensymphony.module.sitemesh.filter.PageFilter

  </filter-class>

 </filter>

 <filter-mapping>

  <filter-name>sitemesh</filter-name>

  <url-pattern>/*</url-pattern>

 </filter-mapping>

 <!-- // sitemesh -->


3.레이아웃 설정파일 추가 

WEB-INF 하위에 sitemesh.xml과 decorators.xml 을 추가.


4. sitemesh.xml 

샘플소스에 있는 sitemesh.xml을 그대로 적용.


<?xml version="1.0" encoding="UTF-8"?>

<sitemesh>

<!--decorator 결정 -->

<property name="decorators-file" value="/WEB-INF/decorators.xml" />

<excludes file="${decorators-file}" />


<!--parser를 설정:해당 페이지의 content-type에 따라 데코레이터 결정 -->

<page-parsers>

<parser content-type="text/html"

class="com.opensymphony.module.sitemesh.parser.HTMLPageParser" />

<parser content-type="text/html;charset=UTF-8"

class="com.opensymphony.module.sitemesh.parser.HTMLPageParser" />

</page-parsers>


<decorator-mappers>

<mapper

class="com.opensymphony.module.sitemesh.mapper.PrintableDecoratorMapper">

<param name="decorator" value="printable" />

<param name="parameter.name" value="printable" />

<param name="parameter.value" value="true" />

</mapper>


<mapper class="com.opensymphony.module.sitemesh.mapper.PageDecoratorMapper">

<param name="property" value="meta.decorator" />

</mapper>


<!-- mapper결정 : 설정파일 사용하여 decorator정하기 -->

<mapper

class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper">

<param name="config" value="${decorators-file}" />

</mapper>

</decorator-mappers>

</sitemesh>


5. decorators.xml

header, footer 추가.


<?xml version="1.0" encoding="UTF-8"?>

 <!-- Default Diretory 설정 footer, header 등 jsp파일 위치 -->

 <decorators defaultdir="/WEB-INF/views/decorators">

 <decorator name="_sidebar" page="sidebar.jsp" />

 <decorator name="_header" page="header.jsp" />

 <decorator name="_footer" page="footer.jsp" /> 

</decorators>


6. 적용 예제

<body>

<div id="wrap">

 <div id="header">

       <page:applyDecorator name="_header" />

 </div><hr /><!--end header-->

 <div id="body">

  <div id="sidebar">

   <page:applyDecorator name="_sidebar" />

  </div>

   <decorator:title />

  <decorator:body />

 </div><!-- end body -->

 <div id="footer">

  <page:applyDecorator name="_footer" />

 </div><!-- end footer -->

</div><!-- end wrap -->

</body>


decorators.xml에서 설정한 _header, _sidebar, _footer 파일 내용이 페이지의 지정된 위치에 삽입된다.




'JAVA > Spring' 카테고리의 다른 글

[Spring] Eclipse 설치 및 Spring Boot 설정  (0) 2019.04.15
스프링 모듈 목록  (0) 2019.03.21
Eclipse에서 Spring Project 설정 (Maven)  (0) 2019.03.21

+ Recent posts