sitemesh는 기본적으로 jsp, freemarker, velocity 등 여러 템플릿 엔진이나 파일에 적용되어서 쓰이는데 이를 제대로
사용하기 위해서는 별도의 설정이 필요하다. freemarker 기본 셋팅을 적용(sitemesh 2.4.2)
web.xml
<!-- sitemesh와 freemarker를 같이 사용하기 위한 설정 -->
<servlet>
<servlet-name>sitemesh-freemarker</servlet-name>
<servlet-class>
com.opensymphony.module.sitemesh.freemarker.FreemarkerDecoratorServlet
</servlet-class>
<init-param>
<param-name>TemplatePath</param-name>
<param-value>/</param-value>
</init-param>
<init-param>
<param-name>default_encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>sitemesh-freemarker</servlet-name>
<url-pattern>*.ftl</url-pattern>
</servlet-mapping>
velocity는 써보지 않아서 모르겠고 jsp와 ftl은 같이 사용하기 위한 방법이 약간 다르다(freemarker 기준)
<!-- deco.ftl -->
<#assign decorator=JspTaglibs["http://www.opensymphony.com/sitemesh/decorator"]>
<#assign page=JspTaglibs["http://www.opensymphony.com/sitemesh/page"]>
<html>
<head>
<title><@decorator.title default="Home"/></title>
</head>
<body>
Board Test<br/>
<@decorator.body/><br/>
<a href="*.*">start page</a>
</body>
</html>
<!-- @decorator.title이나 @decorator.body에 내용이 삽입되어져서 유저에게 보여짐 -->





최근 덧글