struts2 chain跳转问题求解??

问题描述

问题:前台请求到Action(path2.action),在Action中可能会添加错误,代码如下:this.addFieldError("errorMessage","错误描述“);

如果有错误会返回input,,代码如下:if(this.getFieldErrors().size()>0){returnINPUT;}

struts配置如下:<actionname="path1"class="action"method="init"><result>/jsp/1.jsp</result><resultname="input">/jsp/1.jsp</result></action><actionname="path2"class="action"method="start"><resultname="success"type="redirect">path1</result><resultname="input"type="chain">path1</result><interceptor-refname="emaTokenStack"/></action>

然后问题就出来了,返回input时,那它又会接着执行path1.action,init方法,但是如果我不执行this.clearFieldErrors();把错误清空,它就不能正确执行。如果在prepareInit()方法中执行了this.clearFieldErrors();,就会正确执行,好纠结不知道什么原因,求解!!!!!!!!

解决方案

解决方案二:
没人吗,还是现在还都在午休
解决方案三:
首先你要确定一点:INPUT的值是多少。第二点:相同的url,浏览器有时是不会去查服务器的。在请求的url加随机数。如modifyinfo.action?random=xxxxx,只要每次请求时random的值不同,客户端就认为url不同,就会去访问服务器的。第三:也可以直接在结果jsp里加的java代码清理缓存的。
解决方案四:
<resultname="input">/jsp/1.jsp</result>你返回INPUT的时候有没有跳到/jsp/1.jsp这个页面...楼主描述不是很清楚....
解决方案五:
你的执行路线是:前台请求->path2(返回INPUT)->path1(返回INPUT)->前台业面(/jsp/1.jsp),这个过程中你哪一步出了问题呢?
解决方案六:
建议楼主直接查查this.clearFieldErrors()的工作原理以及作用。
解决方案七:
引用3楼dandan8989251的回复:

<resultname="input">/jsp/1.jsp</result>你返回INPUT的时候有没有跳到/jsp/1.jsp这个页面...楼主描述不是很清楚....

chain跳转到path1.action它没执行init方法,页面上面有<s:select>控件,值没初始化,所以报错了,页面已经跳转过去了
解决方案八:
引用5楼baohuan_love的回复:

建议楼主直接查查this.clearFieldErrors()的工作原理以及作用。

这个是它把错误信息放在map中,只是把map清空而已
解决方案九:
引用4楼dandan8989251的回复:

你的执行路线是:前台请求->path2(返回INPUT)->path1(返回INPUT)->前台业面(/jsp/1.jsp),这个过程中你哪一步出了问题呢?

chain跳转到path1.action它没执行init方法,页面上面有<s:select>控件,值没初始化,所以报错了,页面已经跳转过去了

时间: 2024-10-26 10:41:19

struts2 chain跳转问题求解??的相关文章

struts2.0-struts2 注解和约定页面跳转问题求解

问题描述 struts2 注解和约定页面跳转问题求解 我想从user文件夹下的admin.left.jsp 跳转至mail 文件夹下的writeMail.jsp 页面 admin.left.jsp form表单action 为 mail/writeMail 执行Action类 @Namespace("/mail") @ParentPackage("struts-default") public class MailAction extends BaseAction

java web-weblogic struts2页面跳转缓慢问题

问题描述 weblogic struts2页面跳转缓慢问题 现在有一个java web项目,框架是SSH,在不同服务器下的weblogic部署,IDC服务器下的服务系统非常慢.定位原因发现所有同步请求走struts2,然后返回成功struts2跳转页面的时候特别慢.异步请求如查询列表.局部验证等无需返回跳转页面的都很快.不知道问题出在哪儿了 解决方案 用ie f12的network traffic看下,是不是dns lookup的问题.因为你的描述来看,你的网站不在一个主机域名下.

struts2 helloworld跳转action时错误500

问题描述 struts2 helloworld跳转action时错误500 是因为这个action跳转不过去吗 500错误空指针 哪里有问题呢 求大神指教 解决方案 贴出错误代码!这样才能更直观,知道是哪里错了! 解决方案二: 拦截后缀是什么!只访问hello没有后缀拦截么! 解决方案三: 楼主的程序中的struts2的filter的url-pattern是啥啊,就是你web.xml中配置的,最好写成/* ,来表示全部路径均拦截,你的struts2的核心配置文件最好放在src下,看着直观些,如果

struts2 action跳转调用另一个程序_JSP编程

目的:主要为了在一个Action成功后跳转调用另一个程序. Struts2.xml [html] 复制代码 代码如下: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.

struts2.0-struts2跳转问题,会出现白页

问题描述 struts2跳转问题,会出现白页 我的页面执行请求之后会跳转到一个白页(空白一片,什么都没有)但是代码都执行了,数据库会显示执行后的数据.还有就是我的脚本文件昨天还可以运行,今天就不好使了 = =.求大神指点 解决方案 struts2跳转出现的问题 解决方案二: 代码?有没有错误信息?页面是什么的 解决方案三: 你将错误信息贴出来看看啊 解决方案四: 调一下网页的debug,看看是什么错误

关于Struts2的跳转问题。。。

问题描述 问题:技术:struts2.我现在有个注册用户表单提交后,当我输入两次密码不正确时,再提交,结果老是返回input的结果页面,action里面的方法连进都不进.但我输入其他数据时,比如正常注册,用户已存在的情况 ,这些数据时就正常跳转.这是为什么啊?就我的页面 action: userAction!register.action配置文件struts.xml:<action name="userAction!*" class="userAction"&

struts2.0-Struts2跳转404,能正确取到页面的值

问题描述 Struts2跳转404,能正确取到页面的值 我访问 http://localhost:8080/Struts2pakaging/index.jsp 点击提交后跳转到 http://localhost:8080/Struts2pakaging/attribute.action 此时打印出我输入的用户名和密码 到这里是没有问题的,但是return之后就报错了 解决方案 http://rainbow702.iteye.com/blog/2227847 解决方案二: 说明你的index.js

Struts2 超链接跳转Action错误

问题描述 代码如下.index.jsp<ahref="../path/tank.action">传参数</a>struts2.xml<packagename="default"namespace="/path"extends="struts-default"><actionname="tank"class="com.sz.util.UserAction&q

struts2返回JSON数据问题求解

问题描述 页面得到的JSON数据为空,为什么,急!!! 解决方案 解决方案二:你转换json看看解决方案三:引用1楼rui888的回复: 你转换json看看 按理说依靠struts2的注解或配置就可以做到的解决方案四:这个有没有.@ParentPackage("json-default")解决方案五:setget了吗?解决方案六:问题已解决缺少get方法