Sitemesh란 ?
사용자가 화면을 효율적으로 구성할 수 있도록 도와주는 프레임워크이다.
페이지 별로 공통되는 영역은 공통영역으로 관리될 수 있도록 할 수 있어서 화면의 디자인 구성이 복잡해지지 않는다.
Sitemesh는 web.xml에 filter 클래스를 이용해 사용 설정을 마친 후, sitemesh.xml과 decorators.xml 을 정의해야한다.
sitemesh.xml의 위치는 /WEB-INF/ 위치에 위치시키면 되고, decorators.xml은 sitemesh.xml 파일에서 경로를 설정해줄 수 있기 때문에 아무 곳이나 위치시키면 되지만, 편의상 같은 폴더에 위치시키는 걸 추천한다.
sitemesh.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
<sitemesh>
<property name="decorators-file" value="/WEB-INF/decorators.xml"/>
<excludes file="${decorators-file}"/>
<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.PageDecoratorMapper">
<param name="property.1" value="meta.decorator" />
<param name="property.2" value="decorator" />
</mapper>
<mapper class="com.opensymphony.module.sitemesh.mapper.FrameSetDecoratorMapper">
</mapper>
<mapper class="com.opensymphony.module.sitemesh.mapper.AgentDecoratorMapper">
<param name="match.MSIE" value="ie" />
<param name="match.Mozilla [" value="ns" />
<param name="match.Opera" value="opera" />
<param name="match.Lynx" value="lynx" />
</mapper>
<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.RobotDecoratorMapper">
<param name="decorator" value="robot" />
</mapper>
<mapper class="com.opensymphony.module.sitemesh.mapper.ParameterDecoratorMapper">
<param name="decorator.parameter" value="decorator" />
<param name="parameter.name" value="confirm" />
<param name="parameter.value" value="true" />
</mapper>
<mapper class="com.opensymphony.module.sitemesh.mapper.FileDecoratorMapper">
</mapper>
<mapper class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper">
<param name="config" value="${decorators-file}" />
</mapper>
</decorator-mappers>
</sitemesh>
|
cs |
<property name="decorators-file"> : decorators.xml 의 파일 경로를 설정해준다
PageDecoratorMapper : jsp 페이지에 meta 태그에 decorators 항목이 존재할 경우,
설정되어 있는 decorator 를 리턴한다
left.jsp 장식자를 decorators.xml 에 설정했다면 decorators meta태그 항목이
적용되어 있는 페이지는 모두 left.jsp 페이지를 가져온다.
혹시 다른 장식자를 적용시키고 싶다면 meta 태그의 content 항목을 해당 장식자 명
으로 변경시켜주면 된다
ex ) right.jsp 장식자로 변경
<meta class="decorator" content="right.jsp"...
AgentDecoratorMapper : 브라우저에 따라 장식자를 변경할 수 있도록 해준다.
만약 설정해놓은 페이지를 찾지 못한다면 기본 장식자 페이지를 가져오게 된다
ConfigDecoratorMapper : decorators.xml 파일에 명시되어 있는 decorator를 사용한다는 설정이다
내가 봤을 때 중요한 태그들의 기능만 설명해놓았다다음은 예제를 만들어보겠다
'개발 > BACK' 카테고리의 다른 글
[SpringFramework] 스프링 프레임 워크 네이버 로그인(API) 연동 예제 2 (0) | 2021.03.15 |
---|---|
[SpringFramework] 스프링 프레임워크 네이버 로그인(API) 연동 예제_1 (0) | 2021.03.15 |
[Spring Framework]dispatcher-servlet 설정방법 (0) | 2020.07.24 |
[스프링 프레임워크] web.xml 설정 방법 (0) | 2020.07.22 |
[JAVA] 자료구조 Stack 간단 구현 (0) | 2019.05.04 |