(Spring4셋팅 Step3) Sitemesh 추가하기
1. pom.xml에 dependency 추가
<!-- sitemesh --> |
2. web.xml에 sitemesh filter 추가
<filter> |
3. WEB-INF 폴더 밑에 sitemesh.xml 파일을 만들고 아래 내용을 추가
<?xml version="1.0" encoding="UTF-8"?> <page-parsers> <decorator-mappers> <mapper class="com.opensymphony.module.sitemesh.mapper.PageDecoratorMapper"> <mapper class="com.opensymphony.module.sitemesh.mapper.FrameSetDecoratorMapper"> <mapper class="com.opensymphony.module.sitemesh.mapper.AgentDecoratorMapper"> <mapper class="com.opensymphony.module.sitemesh.mapper.PrintableDecoratorMapper"> <mapper class="com.opensymphony.module.sitemesh.mapper.RobotDecoratorMapper"> <mapper class="com.opensymphony.module.sitemesh.mapper.ParameterDecoratorMapper"> <mapper class="com.opensymphony.module.sitemesh.mapper.FileDecoratorMapper"> <mapper class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper"> </decorator-mappers> </sitemesh> |
4. WEB-INF 폴더 밑에 decorators.xml 파일을 만들고 아래 내용을 추가
<?xml version="1.0" encoding="utf-8"?> <!-- 데코레이터 기본 폴더 --> <decorators defaultdir="/WEB-INF/view/layout">
<decorator name="header-footer-layout" page="header-footer-layout.jsp">
|
decorators.xml 파일의 항목에 대한 설명이다.
<decorators defaultdir="/WEB-INF/view/layout">
데코레이터 기본 폴더인데, sitemesh의 layout 관련 파일은 /WEB-INF/view/layout 폴더로 추가 할 것이다.
<pattern>*login*</pattern>
여기 패턴은 sitemesh를 사용하지 않을 URL 패턴을 입력하면 된다.
아직 만들어진 것이 없어 추가할 내용은 없지만, 추후 login 문자열이 들어간 URL은 sitemesh를 사용하지 않겠다는 것이다.
<decorator name="header-footer-layout" page="header-footer-layout.jsp">
이 부분이 데코레이터를 정의하는 부분이다.
여기서는 아래와 같이 header와 footer가 고정으로 들어가고 본문내용만 바뀌는 데코레이터를 만들 생각이다.
header |
본문 |
footer |
5. 이제 데코레이터를 만들자.
위에 지정한대로 /WEB-INF/view/layout 폴더 안에 header-footer-layout.jsp 파일을 생성한다.
<%@ page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%> <%@ taglib prefix="decorator" uri="http://www.opensymphony.com/sitemesh/decorator" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- 공통 JS --> |
<decorator:head /> 와 <decorator:body /> 이 부분에 아래의 내용이 들어간다.
참고 자료는 이전 글에서 사용하였던 selectMember.jsp 파일이다
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> |
<decorator:head /> 부분에는 파란색 영역의 헤더 내용만 들어간다.
<decorator:body /> 부분에는 분홍색 영역의 바디 내용만 들어간다.
이전 글에서 만들었던 http://localhost/member/selectMember.do?mbId=1234 를 호출 할 경우 아래와 같이 header-footer-layout.jsp안에 selectMember.jsp의 head와 body 내용이 들어간다.
</html> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- 공통 JS --> |
브라우져로 확인 해 보았을 경우 아래와 같은 화면이 나온다.
'프로그래밍 > Java' 카테고리의 다른 글
(Spring4셋팅 Step5) mybatis 추가하기 (0) | 2015.07.15 |
---|---|
(Spring4셋팅 Step4) log4j 셋팅 (0) | 2015.07.15 |
(Spring4셋팅 Step2) 스프링 MVC (0) | 2015.07.08 |
(Spring4셋팅 Step1) 이클립스 Spring4 Maven WebProject 생성 (0) | 2015.07.06 |
System.currentTimeMillis 중복제거 (0) | 2011.01.07 |