Struts和Sitemesh整合
web.xml配置
<filter>
<filter-name>struts-prepare</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class>
</filter>
<filter>
<filter-name>sitemesh</filter-name>
<filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
</filter>
<filter>
<filter-name>struts-execute</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts-prepare</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts-execute</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-name>struts-prepare</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class>
</filter>
<filter>
<filter-name>sitemesh</filter-name>
<filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
</filter>
<filter>
<filter-name>struts-execute</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts-prepare</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts-execute</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
注意: <filter-mapping>的顺序必须是以上顺序,struts-prepare-->sitemesh-->struts-execute.否则的话装饰器不会起作用.
Sitemesh xml配置
<!-- 配置装饰器 --><decorators defaultdir="/WEB-INF/decorators"><!-- 装饰器页面目录 -->
<!-- 不装饰的页面 -->
<excludes>
<pattern>/login.jsp</pattern>
<pattern>/qiantai/userinfo/*</pattern>
<pattern>*My97DatePicker.htm</pattern>
</excludes>
// 这个装饰器装饰那个路径下的, 这里可以配置多个装饰器
<decorator name="main" page="houtai/main.jsp">
<pattern>/*</pattern>
</decorator>
<decorator name="menu" page="houtai/menu.jsp" />
<decorator name="header" page="houtai/header.jsp" />
<decorator name="footer" page="houtai/footer.jsp" />
// 前台装饰样式
<decorator name="qt_main" page="qiantai/main.jsp">
<pattern>/qiantai/*</pattern>
</decorator>
<decorator name="qt_header" page="qiantai/header.jsp" />
<decorator name="qt_footer" page="qiantai/footer.jsp" />
</decorators>
注意: 装饰器配置时不同装饰器中<decorator>标签中的name属性的值不能一样,否则会出现装饰页面混淆的情况.