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>
本文介绍了解决Struts与SiteMesh装饰器不兼容的问题。通过调整web.xml中的过滤器顺序,确保SiteMeshFilter在StrutsFilter之前运行,从而实现.action请求页面的正确装饰。
2665

被折叠的 条评论
为什么被折叠?



