通过SiteMesh的页面装饰,可以提高更好的代码复用,以下是配置使用的简单记录:
1.下载jar包:sitemesh-2.3.jar,将jar复制到lib目录下
2.web.xml文件中配置sitemesh的Filter
<!-- 配置装饰器filter -->
<filter>
<filter-name>sitemeshFilter</filter-name>
<filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>sitemeshFilter</filter-name>
<url-pattern>/jsp/*</url-pattern>
</filter-mapping>
3.新建一个decorators.xml文件:
<decorators defaultdir="/WEB-INF/jsp">
<!-- 配置装饰器页面-->
<decorator name="decorator" page="/jsp/decorator.jsp" >
<!-- 配置需要追加装饰器的页面 -->
<pattern>/jsp/*</pattern>
</decorator>
<!-- 配置不需要追加装饰的页面 -->
<excludes>
<pattern>/jsp/decorator*</pattern>
</excludes>
</decorators>
4.新建装饰页面decorator.jsp
- <%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/jsp/common/taglibs.jspf"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <body>
- <!--头部 -->
- <div align="center">
- <h1 >头部信息:
- <sitemesh:write property='title' />
- </h1>
- </div>
- <hr>
- <!--左侧菜单栏 -->
- <div class="conbgbtm">
- <div class="leftbox">
- <ul>
- <li><a href="#">菜单1</a></li>
- <li><a href="#">菜单2</a></li>
- <li><a href="#">菜单3</a></li>
- </ul>
- </div>
- <sitemesh:write property='body'></sitemesh:write>
- </div>
- <hr>
- <div align="center">
- <span>Copyright © 2012-2013 廊坊信息技术提高班 版权所有</span>
- </div>
- </body>
- </html>