struts2中直接访问没问题但是<jsp:forward>跳转时报404错误的问题
2016-07-19 15:29
585 查看
index.jsp页面: <jsp:forward page="student.action"></jsp:forward> 在struts.xml配置如下: <package name="struts2" extends="struts-dafult"> <action name="student" class="action.ShowAction"> <result name="studentInfo">/studentInfo.jsp</result> </action> </package> 在运行时出现404错误(找不到 student.action )问题原因:struts2拦截器把forward这个请求拦截了。解决方法一:修改web.xml文件
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
修改为:
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
<span style="font-size:18px;color:#ff0000;">
<dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher> //增加对<jsp:include page="xxx.action"/>及其<s:include value="xxx.action"/>支持 </span> </filter-mapping>解决方法二:用javascript解决,让请求执行到页面时,接着执行如下的代码,发现页面需要重载,然后就重新发送请求REQUEST,这样当然就会被过滤器所截获到了。<script language="javascript">location.replace(URL)</script>解决方法三:利用html meta,等于也是让页面等待零秒刷新页面,重新发送请求,达到目的。<meta http-equiv="refresh" content="0;URL=xxx.action">
相关文章推荐
- struts2 拦截器和actioninvocation
- JEECG 3.6.5版本发布,企业级JAVA快速开发平台
- [原创]java WEB学习笔记49:文件上传基础,基于表单的文件上传,使用fileuoload 组件
- java集群
- Spring AOP 详解(转载)
- Java 修饰符
- [Java并发编程] synchronized(this)
- Java简单的日期格式化
- 修改Eclipse导入项目的默认工程名
- Java-----instanceof、isInstance、isAssignableFrom
- SpringMVC 使用校验框架
- java.lang.Math
- java导出excel大量数据出现错误时解决办法
- eclipse到android studio遇到的问题
- Quartz教程一:使用quartz
- 使用 Smooks Eclipse 插件轻松完成 XML 到 Java 的数据转换
- Java使用swing时使用本地系统外观
- 【奔跑的菜鸟】Java中的接口
- 集合&泛型
- 三步学会Java-Socket编程