您的位置:首页 > 编程语言 > Java开发

SiteMesh和Struts2,Filter的配置顺序

2014-04-03 23:01 696 查看
Sitemesh和Struts2结合时,要特别注意它们各自Filter的顺序,否则会导致双方都不能正常工作。而又由于Struts2在2.1.3之前使用的是FilterDispatcher,2.1.3之后推荐使用StrutsPrepareFilter和StrutsExecuteFilter替代FilterDispatcher,因此,配置上又会有所不同。

2.1.3之前的版本,sitemesh的filter要介于StrutsPrepareFilter和FilterDispatcher之间,配置如下:

[xhtml] view
plaincopy

<filter>

<filter-name>struts-cleanup</filter-name>

<filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>

</filter>

<filter-mapping>

<filter-name>struts-cleanup</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>



<filter>

<filter-name>sitemesh</filter-name>

<filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>sitemesh</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>



<filter>

<filter-name>struts</filter-name>

<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>

</filter>

<filter-mapping>

<filter-name>struts</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

2.1.3之后的版本,sitemesh的filter要介于StrutsPrepareFilter和StrutsExecuteFilter之间,配置如下:

[xhtml] view
plaincopy

<filter>

<filter-name>struts-cleanup</filter-name>

<filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>

</filter>

<filter-mapping>

<filter-name>struts-cleanup</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

<filter>

<filter-name>struts-prepare</filter-name>

<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>struts-prepare</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

<filter>

<filter-name>sitemesh</filter-name>

<filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>sitemesh</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>



<filter>

<filter-name>struts-execute</filter-name>

<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>struts-execute</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

转自:http://blog.csdn.net/bluishglc/article/details/5969769
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: