struts2 老是向 name="input" 的result跳转
怎么设置都没用,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.
[解决办法]
- Java code
public String doRegister() throws Exception{ System.out.println("adc"); return "abc"; }看有有出 要不你置断点你DEBUG下 return 的是你 STRUTS.XML ACTION里的 RESULT看是不是其他验证的错误 默认是就转向 INPUT 的
[解决办法]
我的qq:75425364,帮你解决
[解决办法]
<include file="struts-default.xml" />
为什么还要引入这个?????
[解决办法]
我觉得你应该去掉 <include file="struts-default.xml" />试试,既然你已经继承了,为什么还要引入?
[解决办法]
如果提交了还没有进指定的方法,那说明是数据验证不通过
[解决办法]
struts配置是没有问题,既然你设置了name="SUCCESS",那么你在action里面的返回类型return就必须是success。你在return前面打印下字符串就行了
[解决办法]
[解决办法]
你的struts.xml里面没<result name="register_ok"></result> = =
[解决办法]
[解决办法]
- Java code
<result name="input">/usr/register1.jsp</result> <result name="success">/usr/register1.jsp</result>
[解决办法]
[解决办法]
肯定是有问题所以才会跳转INPUT的,把异常发上来看一下
[解决办法]
看来楼主还没明白
这个就相当于 switch case 里面的 default:一样
[解决办法]
你的<result name="input">/usr/register1.jsp</result>
<result name="success">/usr/register1.jsp</result>
都是register1.jsp一个页面你怎么区别是input还是success呢?
[解决办法]
[解决办法]