struts2 老是向 name="input" 的result跳转,该如何解决
struts2 老是向 name="input" 的result跳转
怎么设置都没用,jsp 页面提交之后,它总是去找一个 <result name="input"> 进行跳转
我在 action 类的执行方法中什么事都没做,直接返回一个自己指定的字符串 "register_ok",但是 action 还是向 name="input" 的 result 跳转。并且如果在 struts.xml 中删除 name="input" 的 result,则程序运行时报错,提示没有配置 name="input" 的节点
下面是 action 类的代码
下面是 struts.xml
------解决方案--------------------
return "abc";
应该跟<result name="abc">对应吧
一般找不到。。或出错就会直接找input画面。。。
------解决方案--------------------
找不到‘abc’后,默认为'input
'
------解决方案--------------------
配置貌似没错呀。。。
------解决方案--------------------
直接返回一个自己指定的字符串 "register_ok",你应该把<result name="success">中的success改为register_ok
------解决方案--------------------
- -!
你的方法返回的abc,而在配置文件中没有!
------解决方案--------------------
- -!
顶楼上的
------解决方案--------------------
先填上abc吧 没验证要不就别继承ActionSupport了
------解决方案--------------------
仔细检查你的表单提交的元素类型是否符合条件
------解决方案--------------------
是否做了验证 ? 验证不通过 ,则跳转到 了 input 的页面
------解决方案--------------------
doRegister() 返回的是“abc”而你struts.xml文件中没有配置<result name="abc"> </result>,系统默认就找input.
------解决方案--------------------
怎么设置都没用,jsp 页面提交之后,它总是去找一个 <result name="input"> 进行跳转
我在 action 类的执行方法中什么事都没做,直接返回一个自己指定的字符串 "register_ok",但是 action 还是向 name="input" 的 result 跳转。并且如果在 struts.xml 中删除 name="input" 的 result,则程序运行时报错,提示没有配置 name="input" 的节点
下面是 action 类的代码
- Java code
import com.opensymphony.xwork2.*; public class RegisterAction extends ActionSupport{ private String username; private String password1; private String password2; public String doRegister() throws Exception{ return "abc"; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword1() { return password1; } public void setPassword1(String password1) { this.password1 = password1; } public String getPassword2() { return password2; } public void setPassword2(String password2) { this.password2 = password2; } }
下面是 struts.xml
- XML code
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <include file="struts-default.xml" /> <constant name="struts.ognl.allowStaticMethodAccess" value="true" /> <package name="user-manage" namespace="/usr" extends="struts-default"> <action name="register" class="com.csjl.infopub.struts2.usr.RegisterAction" method="doRegister"> <result name="input">/usr/register1.jsp</result> <result name="success">/usr/register1.jsp</result> </action> </package> <!-- Add packages here --> </struts>
------解决方案--------------------
return "abc";
应该跟<result name="abc">对应吧
一般找不到。。或出错就会直接找input画面。。。
------解决方案--------------------
找不到‘abc’后,默认为'input
'
------解决方案--------------------
配置貌似没错呀。。。
------解决方案--------------------
直接返回一个自己指定的字符串 "register_ok",你应该把<result name="success">中的success改为register_ok
------解决方案--------------------
- -!
你的方法返回的abc,而在配置文件中没有!
------解决方案--------------------
- -!
顶楼上的
------解决方案--------------------
先填上abc吧 没验证要不就别继承ActionSupport了
------解决方案--------------------
仔细检查你的表单提交的元素类型是否符合条件
------解决方案--------------------
是否做了验证 ? 验证不通过 ,则跳转到 了 input 的页面
------解决方案--------------------
doRegister() 返回的是“abc”而你struts.xml文件中没有配置<result name="abc"> </result>,系统默认就找input.
------解决方案--------------------