关于struts2中filter过滤后,转发到action中 URL地址的问题

时间:2021-01-13 19:11:16
http://xxx.xx.com/share/123456
现有一个过滤器来过滤/share,访问上面的地址进入到shareFilter,在shareFilter中再去转到系统action中, 目前采用response.sendRedirect()进行转向,有个问题就是这样转向URL地址会变,现想转到Action后 url地址还保持不变为:http://xxx.xx.com/share/123456
用另外个request.getRequestDispatcher("")在struts2中跳转要在struts2声明的FilterDispatcher配置中添加一个参数,但添加了这个参数后,普通的转发又出问题,请各位大大 有什么好的解决办法没?

4 个解决方案

#1


但添加了这个参数后,普通的转发又出问题
出现了什么问题?

#2


普通的跳转 跳不过去了.以前试过一次,由于时间比较紧把URL地址跳转这块当个BUG先丢下了,现在又有个功能跟这部分比较相似,所以又碰到这样的问题了 

#3


用struts2的拦截器去弄省很多事

#4


  <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>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
  </filter-mapping>
两个参数都要添加吧,默认是request。

#1


但添加了这个参数后,普通的转发又出问题
出现了什么问题?

#2


普通的跳转 跳不过去了.以前试过一次,由于时间比较紧把URL地址跳转这块当个BUG先丢下了,现在又有个功能跟这部分比较相似,所以又碰到这样的问题了 

#3


用struts2的拦截器去弄省很多事

#4


  <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>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
  </filter-mapping>
两个参数都要添加吧,默认是request。