struts2的ActionContextCleanUp filter
2010-07-07 14:18
381 查看
为了使用WebWork,我们只需要在web.xml配置FilterDispatcher一个过滤器即可,阅读一下FilterDispatcher的JavaDoc和源码,我们可以看到它调用了:
finally
{
ActionContextCleanUp.cleanUp(req);
}
在ActionContextCleanUp中,有这样的代码:
req.setAttribute(CLEANUP_PRESENT, Boolean.TRUE);
如果FilterDispatcher检测到这个属性,就不会清除ActionContext中的内容了,而由ActionContextCleanUp后续的代码来清除,保证了一系列的Filter访问正确的ActionContext.
文档中提到,如果用到SiteMesh的Filter或者其他类似Filter,那么设置顺序是:
ActionContextCleanUp filter
SiteMesh filter
FilterDispatcher
所以最后我们的web.xml应该类似这样:
<filter>
<filter-name>ActionContextCleanUp</filter-name>
<filter-class>com.opensymphony.webwork.dispatcher.ActionContextCleanUp</filter-class>
</filter>
<filter>
<filter-name>sitemesh</filter-name>
<filter-class>com.opensymphony.webwork.sitemesh.FreeMarkerPageFilter</filter-class>
</filter>
<filter>
<filter-name>webwork</filter-name>
<filter-class>com.opensymphony.webwork.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>ActionContextCleanUp</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>webwork</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
finally
{
ActionContextCleanUp.cleanUp(req);
}
在ActionContextCleanUp中,有这样的代码:
req.setAttribute(CLEANUP_PRESENT, Boolean.TRUE);
如果FilterDispatcher检测到这个属性,就不会清除ActionContext中的内容了,而由ActionContextCleanUp后续的代码来清除,保证了一系列的Filter访问正确的ActionContext.
文档中提到,如果用到SiteMesh的Filter或者其他类似Filter,那么设置顺序是:
ActionContextCleanUp filter
SiteMesh filter
FilterDispatcher
所以最后我们的web.xml应该类似这样:
<filter>
<filter-name>ActionContextCleanUp</filter-name>
<filter-class>com.opensymphony.webwork.dispatcher.ActionContextCleanUp</filter-class>
</filter>
<filter>
<filter-name>sitemesh</filter-name>
<filter-class>com.opensymphony.webwork.sitemesh.FreeMarkerPageFilter</filter-class>
</filter>
<filter>
<filter-name>webwork</filter-name>
<filter-class>com.opensymphony.webwork.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>ActionContextCleanUp</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>webwork</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
相关文章推荐
- Struts2源码阅读(二)_ActionContext及CleanUP Filter .
- Struts2--ActionContext及CleanUP Filter
- 深入struts2(二)---ActionContextCleanUp,StrutsPrepareAndExecuteFilter,StrutsPrepareFilter,Stru
- Struts2源码阅读(二)_ActionContext及CleanUP Filter
- Struts2源码阅读(二)_ActionContext及CleanUP Filter
- Struts2源码阅读(二)_ActionContext及CleanUP Filter
- Struts2源码阅读(二)_ActionContext及CleanUP Filter
- Struts2源码阅读(二)_ActionContext及CleanUP Filter
- Struts2源码阅读(二)_ActionContext及CleanUP Filter
- struts2的ActionContextCleanUp filter
- 详解Struts2中的ActionContextCleanUp
- ActionContextCleanUp StrutsPrepareAndExecuteFilter StrutsPrepareFilter,StrutsExecuteFilter FilterDispatcher
- Struts2中ActionContextCleanUp作用
- >>> ActionContextCleanUp或FilterDispatcher <<< is deprecated! Please use the new filters!
- 升级到struts-2.3.14.3之后涉及的改动以及ActionContextCleanUp,StrutsFilter详解
- Struts2中的ActionContextCleanUp
- Struts2版本更新报错:>>> ActionContextCleanUp <<< is deprecated! Please use the new filters!
- Struts2中ActionContextCleanUp作用
- struts2中的ActionContextCleanUp的作用
- ActionContextCleanUp