struts2中<jsp:forward>跳转时报404错误的问题

index.jsp页面:
  <jsp:forward page="show.action"></jsp:forward>

在struts.xml配置如下:
  <package name="struts2" extends="struts-dafult">
  <action name="show" class="action.ShowAction">
  	<result name="showinfo">/showinfo.jsp</result>
  </action>
  </package>
在运行时出现404错误(找不到 show.action )

问题原因:

struts2拦截器把forward这个请求拦截了。

解决方法一:

修改web.xml文件

 <filter>
  <span style="white-space:pre">	</span><filter-name>struts2</filter-name>
  <span style="white-space:pre">	</span><filter-class>
<span style="white-space:pre">		</span>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
<span style="white-space:pre">	</span></filter-class>
  </filter>
  <filter-mapping>  <span style="white-space:pre">	</span>
  <span style="white-space:pre">	</span><filter-name>struts2</filter-name>
  <span style="white-space:pre">	</span><url-pattern>/*</url-pattern>
  </filter-mapping>

修改为:
  <filter>
  <span style="white-space:pre">	</span><filter-name>struts2</filter-name>
  <span style="white-space:pre">	</span><filter-class>
<span style="white-space:pre">		</span>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
<span style="white-space:pre">	</span></filter-class>
  </filter>
  <filter-mapping>  <span style="white-space:pre">	</span>
  <span style="white-space:pre">	</span><filter-name>struts2</filter-name>
  <span style="white-space:pre">	</span><url-pattern>/*</url-pattern>
<span style="white-space:pre">	</span><dispatcher>INCLUDE</dispatcher>    //增加对<jsp:include page="xxx.action"/>及其<s:include value="xxx.action"/>支持
  <span style="white-space:pre">	</span><dispatcher>REQUEST</dispatcher>
  <span style="white-space:pre">	</span><dispatcher>FORWARD</dispatcher>
  </filter-mapping>

解决方法二:

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

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

解决方法三:

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

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

转自http://yanln.iteye.com/blog/1602770

http://www.blogjava.net/LaozhonG/archive/2012/02/26/370793.html

时间: 2024-08-24 23:48:33

struts2中<jsp:forward>跳转时报404错误的问题的相关文章

Struts2中&lt;jsp:forward page=&quot;xxx.action&quot;&gt;&lt;/jsp:forward&gt;失效

问题:在Struts2中<jsp:forward page="xxx.action"></jsp:forward>失效了,不但调转不过去还报404错误.不知道是Struts2中不支持还是需要其他的配置. 原因:因为struts2采用过滤器的方式处理请求,默认情况时监控url地址的变化 解决办法1.配置web.xml 解决 [html] view plaincopyprint? <filter-mapping> <filter-name>s

struts2中 jsp:forward 失败原因及解决办法

问题:在Struts2中<jsp:forward page="xxx.action"></jsp:forward>失效了,不但调转不过去还报404错误.不知道是Struts2中不支持还是需要其他的配置. 原因:因为struts2采用过滤器的方式处理请求,默认情况时监控url地址的变化 解决办法1.配置web.xml 解决 1 <filter-mapping> 2 <filter-name>struts2</filter-name&g

SpringMVC中遇到页面跳转出现404错误的问题

今天遇到了一个问题: 使用SpringMVC时,出现页面无法跳转的情况(404错误), 出现这个异常的原因在于SpringMVC的配置文件中控制器的配置书写错误: 原代码: <context:component-scan base-package="com.packagename1.controller" /> 出现问题的原因在于包名不应该写到controller层面: 改为下面的即可实现成功跳转. <context:component-scan base-packa

Struts2.x jsp页面无法使用jsp:forward跳转到action

问题:使用<jsp:forward page="test"></jsp:forward>语句无法跳转到test所对应的action. 解决办法:在web.xml中 添加 <filter-mapping>          <filter-name>struts2</filter-name>          <url-pattern>/*</url-pattern>          <dispa

Struts2中jsp前台传值到action后台的三种方式以及valueStack的使用

struts2中的Action接收表单传递过来的参数有3种方法: 如,登陆表单login.jsp: 1 <form action="login" method="post"name="form1"> 2 3 4 用户名:<s:textfieldname="username"/><br/> 5 密 码:<s:passwordname="password"/>&l

Struts2中jsp页面怎么实现一加载页面就显示数据

怎么把list里面的数据在jsp页面一加载的时候就显示出来,那么在Action里面和jsp页面该怎么做呢 注意:至始至终,就只有一个页面,,页面就比如说是index.jsp(欢迎页面) 才在学,纠结了一上午,还没解决,望大家提点下 index对应的action里面初始化list,然后在index.jsp里面显示不就行了吗? http://www.iteye.com/problems/123708 http://www.iteye.com/problems/123709 http://www.it

AspNet Mvc 路由解析中添加.html 等后缀 出现404错误的解决办法

使用Mvc 有时候我们希望,浏览地址以.html .htm 等后缀名进行结尾. 于是我们就在RouteConfig 中修改路由配置信息,修改后的代码如下 routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Default", url: "{controller}/{action}.html", defaults: new { controller =

myeclipse2017maven Web项目测试controller时报404错误

问题描述: 这是我自己基于SSM框架搭建的一个Maven Web项目,前面一切顺利,单元测试这些都通过了,就是访问不到controller,直接改为访问jsp也不行,页面一直显示404,后来也是百度了好久才找到一个和我问题相同的同志,我们都是需要改WEB.XML的对应的工程名.点击工程右键-->properties-->找到Project Facets-->找到Web Context Root->点击config...,如下图 原文地址:https://www.cnblogs.co

Nginx 上传大文件时报404错误

处理方法:在配置文件中更改以下2个参数 client_max_body_size 10M; client_body_buffer_size 10M; 原文地址:http://blog.51cto.com/linux10000/2351248