问题描述
小弟最近在做一个简单的struts2的小东西,遇到了麻烦,代码如下struts2配置文件<actionname="manageKind"class="action.ManageKindAction"><result>/WEB-INF/jsp/manageKind.jsp</result></action><actionname="addKind"class="action.AddKindAction"><resultname="success"type="redirectAction">manageKind</result><resultname="input"type="chain">manageKind</result><interceptor-refname="auctionStack"/></action>当addKind.jsp页面提交到addKind.action时,未通过AddKindAction.alidation.xml验证,理论上讲应该是跳转到resultname="input"所指向的jsp页面,小弟现在配置了<resultname="input"type="chain">manageKind</result>结果映射(如上),我的预测是,struts2会跳转到manageKind.action,并执行ManageKindAction中的execute()方法,但是,实际出现HTTPStatus404-Noresultdefinedforactionaction.ManageKindActionandresultinput错误,提示找不到manageKind.action的input结果映射,也没执行ManageKindAction中的execute(),这是为什么?希望各位前辈,大虾不吝赐教。
解决方案
解决方案二:
你把<resultname="input"type="chain">manageKind</result>改成<resultname="abc"type="chain">manageKind</result>试一下
解决方案三:
刚才查了一下,好像struts2在result中跳转Action需要通过param进行设置
解决方案四:
<actionname="manageKind"class="action.ManageKindAction"><resultname="input">/WEB-INF/jsp/manageKind.jsp</result><result>/WEB-INF/jsp/manageKind.jsp</result></action>
解决方案五:
在manageKind总配置input即可。<actionname="manageKind"class="action.ManageKindAction"><resultname="input">/WEB-INF/jsp/manageKind.jsp</result><result>/WEB-INF/jsp/manageKind.jsp</result></action>
解决方案六:
input是验证出错时去找的JSP页面显示,不会执行action的。