老钟

并不是每一次雨后,都会有彩虹
posts - 14, comments - 4, trackbacks - 0, articles - 1

3种方法解决Struts2中forward问题!

Posted on 2012-02-26 16:47 LaozhonG 阅读(3388) 评论(0)  编辑  收藏 所属分类: 技术

在Struts2中沿用Struts1.2的<jsp:forward page="xxx.action"></jsp:forward>失效,报404错误。因为Struts2采用过滤器的方式处理请求,REQUEST,当到达页面时,FORWARD跳到Action。但是这个客户端的FORWARD并没有被拦截下来,所以找不到了。从而报出404错。记得当时试过很多方法,都不行。连一些基本的include都无法使用,所以研究了一下,结合网友提供的。

解决办法

1、配置web.xml 解决,增加对FORWARD请求的过滤,自然问题就解决了

1 <filter-mapping> 
2    <filter-name>struts2</filter-name> 
3    <url-pattern >/*</url-pattern> 
4    <dispatcher>INCLUDE</dispatcher>    //增加对<jsp:include page="xxx.action"/>及其<s:include value="xxx.action"/>支持
   <dispatcher>REQUEST</dispatcher> 
   <dispatcher>FORWARD</dispatcher>   
</filter-mapping> 

 

2、用javascript解决,让请求执行到页面时,接着执行如下的代码,发现页面需要重载,然后就重新发送请求REQUEST,这样当然就会被过滤器所截获到了。

<script language="javascript">location.replace(URL)</script>

 

3、利用html meta,等于也是让页面等待零秒刷新页面,重新发送请求,达到目的。

<meta http-equiv="refresh" content="0;URL=xxx.action">

 

 


上文转载自解决Struts2中forward问题!

------------------------------------------------------
About Me's
                ------一个喜欢在一块青石阶上独立行走的人

只有注册用户登录后才能发表评论。


网站导航: