通過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>