各位,我在用Jsp Filter与Struts2的时候遇到了以下问题:我想在Jsp Filter里把页面Forward到另一个页面,但由于另一个页面里面使用了Struts的标签,所以请求信息必须要经过Struts2的FilterDispatcher,请问有什么办法可以顺利把页面Forward到另一页面呢?访问某一页面-->自定义的Jsp Filter(do somthing...)-->filter中forward到另一页面-->页面中使用了Struts2标签,由于整个请求没有经过Struts2的FilterDispather,所以报错PS:由于Struts2的Interceptor只对Action起作用,所以我只能用Jsp Filter而没用Struts2的Interceptor
解决方案 »
- EJB怎么实现id字段的自动增加?
- DRBD+heartbeat+mysql做双机热备
- 某牛X公司算法解决方法,[各抒己见] 集合求并集
- 问一下为什么把做好了的JAVA聊天文件打包成jar格式在桌面上为什么不可以连接数据库?怎么解决谢谢~~~~
- 初学Struts2遇到的问题
- 为什么我的HQL查不出结果?
- 请问3年java经验,中科大专升本毕业,在你们那能拿多少工资?
- XFire Dynamic Client怎么调用传对象的service方法?
- 一个hibernate中令我疑惑的持久化对象的传递问题。
- 调用Hibernate-extensions包中的hbm2脚本出错
- 大家帮帮我看看这个问题。谢谢了
- 关于XML动态生成CLASS
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern> </filter-mapping>
这样是可以的啊.
你可以将自定义的过滤器声明放在struts2的FilterDispather声明之前,在doFilter中将控制权交给struts,页面转向放在struts的配置文件里。
<%@ include....
这样就可以把jsp页面也拦截下来
12楼真有创意,呵,不过像9楼所说的,Struts2的FilterDispatcher本身就是一个Filter,FilterDispatcher接到Action请求后再交给Struts2的Interceptor进行处理,所以本质上来说,Filter可以做Interceptor的所有事情,Interceptor只不过是Filter的一个子集而已,所以如果决定使用Filter的话就没必要再使用拦截器了。PS:Filter可以做Interceptor的所有事情,但Interceptor却无法做Filter的所有事情,这也是我所烦恼的事情。
<filter>
<filter-name>forwardfilter</filter-name>
<filter-class>com.test.filter.ForwardFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>forwardfilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--struts2的filterDispatcher-->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>