文档章节

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

猪刚烈
 猪刚烈
发布于 2014/10/12 11:40
字数 235
阅读 10
收藏 0

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

<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之间,配制如下:


<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

共有 人打赏支持
猪刚烈
粉丝 22
博文 708
码字总数 110
作品 1
海淀
程序员
私信 提问
Struts2 整合Sitemesh中,怎么在jsp中拿到actionerror中的值?

Struts2 整合Sitemesh中,怎么在jsp中拿到actionerror中的值呢?表单的值能注入到action中,但在jsp页面中拿不到actionerror的值。是web.xml的配置问题,还是....? 下面是web.xml文件的配置...

空云万里晴
2012/04/06
1K
2
有关Struts2的处理流程的疑问

很多文章中说struts2的处理流程都是: 客户端提交一个(HttpServletRequest)请求,如上文在浏览器中输入http://localhost: 8080/bookcode/ch2/Reg.action就是提交一个(HttpServletRequest)...

霖vv
2011/06/22
339
2
struts2.1.3之后使用自定义Filter

struts2中 ActionContextCleanUp, StrutsPrepareAndExecuteFilter, StrutsPrepareFilter,StrutsExecuteFilter, FilterDispatcherd 刚看了文档中的描述(说的很清楚了,还是文档好啊): org.......

i33
2012/03/13
0
0
SiteMesh Java web页面布局框架

什么是SiteMesh? SiteMesh是一个轻量级灵活的Java web应用框架,它应用了四人帮(Gang of Four)的装饰模式允许内容和表现有一个清晰的分离 SiteMesh is a lightweight and flexible Java ...

天行健J
2012/12/07
0
0
使用SiteMesh简化网页布局

在公司项目使用了 Appfuse ,其带有 SiteMesh 对于网页布局简化让我感觉很好用,本文旨在对对 Sitemesh 的基本原理和在项目中使用 Sitemesh 的实现流程、使用技巧的介绍。 1. 基本原理 Site...

红薯
2008/12/01
3.9K
2

没有更多内容

加载失败,请刷新页面

加载更多

Git代码防丢指南

我们在日常使用Git的过程中经常会发生一些意外情况,如果处理不当,则可能会出现代码丢失的假象。本文将针对IDEA&Git日常开发中的一些场景,为你层层拨开迷雾,解析常见的错误及其发生原因,...

joymufeng
15分钟前
1
0
传统IDC部署网站(三)

16. chown命令 chown 用来更改一个文件或者目录的所有者护着所属组 -R 级联更改一个目录下所有的目录和文件 chown user1:users 1.txtchown user1.users 1.tx useradd 添加用户的命令 user...

miko0089
26分钟前
1
0
来玩一下Java设计模式之命令模式

wiki上的描述 Encapsulate a request as an object, thereby allowing for the parameterization of clients with different requests, and the queuing or logging of requests. It also al......

小刀爱编程
27分钟前
1
0
Optional类的简单了解

import java.util.Optional;/** * @author hanliwei */public class OptionalTest { /** * Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返...

wind2012
35分钟前
1
0
如何写出好的单元测试?

大家都知道,开发软件的时候为代码编写单元测试是很好的。但实际上,光有测试还不够,还要编写好的测试,这同样重要。 要做到这一点,考虑遵循一些固执的原则,对测试代码给予一些关爱: 1....

程序猿拿Q
44分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部