<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>

第一次看到ActionContextCleanUp,很是惊奇,不知道是什么作用,所以赶快去百度。结果如下:

ActionContextClearUp其实是Defer ClearUP.作用就是延长action中属性的生命周期,包括自定义属性,以便在jsp页面中进行访问,让actionContextcleanup过滤器来清除属性,不让action自己清除。

从struts2.1.3开始ActionContextCleanUp 和 FilterDispatcher过滤器,已经不建议使用了。将使用StrutsPrepareFilter和StrutsExecuteFilter拦截器替代,否则会报错的。

xml代码如下:

 按StrutsPrepareFilter,sitemesh,StrutsExecuteFilter的顺序配置过滤器,sitemes夹在中间。

通过以上配置能正确使用。

同时找到了这样一张图片: