decorator.xml中配置装饰器页面的pattern路径配置准确,jsp请求的页面没有问题,只有.action请求的页面无法装饰。那就可能是sitemesh的filter配置顺序的问题了
解决办法很简单:
将web.xml中sitemeshFilter放在strutsFilter的之前就好啦~
例如:
<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>
<!-- 配置struts过滤器,Filter会过滤用户请求为结尾为.action的并将其转入到struts框架处理 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>