Sitemesh和Struts2结合时Filter的配制顺序

    Sitemesh和Struts2结合时要特别注意它们各自Filter的顺序,否则会导致双方都不能正常工作。而又由于Struts2在2.1.3之前使用的是FilterDispatcher,2.1.3之后推荐使用StrutsPrepareFilter和StrutsExecuteFilter替代FilterDispatcher,因此配制上又会有所不同。
      2.1.3之前的版本,sitemesh的filter要介于StrutsPrepareFilter和FilterDispatcher之间,配制如下:

[xhtml]  view plain copy
  1. <filter>  
  2.        <filter-name>struts-cleanup</filter-name>  
  3.        <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>  
  4.    </filter>    
  5.    <filter-mapping>  
  6.        <filter-name>struts-cleanup</filter-name>  
  7.        <url-pattern>/*</url-pattern>  
  8.    </filter-mapping>  
  9.      
  10.    <filter>  
  11.        <filter-name>sitemesh</filter-name>  
  12.        <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>  
  13.    </filter>    
  14.    <filter-mapping>  
  15.        <filter-name>sitemesh</filter-name>  
  16.        <url-pattern>/*</url-pattern>  
  17.    </filter-mapping>  
  18.      
  19.    <filter>  
  20.        <filter-name>struts</filter-name>  
  21.        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>  
  22.    </filter>    
  23.    <filter-mapping>  
  24.        <filter-name>struts</filter-name>  
  25.        <url-pattern>/*</url-pattern>  
  26.    </filter-mapping>  


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


[xhtml]  view plain copy
  1. <filter>  
  2.        <filter-name>struts-cleanup</filter-name>  
  3.        <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>  
  4.    </filter>     
  5. <filter-mapping>  
  6.        <filter-name>struts-cleanup</filter-name>  
  7.        <url-pattern>/*</url-pattern>  
  8.    </filter-mapping>  
  9.    <filter>  
  10.        <filter-name>struts-prepare</filter-name>  
  11.        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class>  
  12.    </filter>  
  13. <filter-mapping>  
  14.        <filter-name>struts-prepare</filter-name>  
  15.        <url-pattern>/*</url-pattern>  
  16.    </filter-mapping>  
  17. <filter>  
  18.        <filter-name>sitemesh</filter-name>  
  19.        <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>  
  20.    </filter>  
  21. <filter-mapping>  
  22.        <filter-name>sitemesh</filter-name>  
  23.        <url-pattern>/*</url-pattern>  
  24.    </filter-mapping>  
  25.   
  26.    <filter>  
  27.        <filter-name>struts-execute</filter-name>  
  28.        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter</filter-class>  
  29.    </filter>  
  30.    <filter-mapping>  
  31.        <filter-name>struts-execute</filter-name>  
  32.        <url-pattern>/*</url-pattern>  
  33.    </filter-mapping>    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值