No result defined for action and result input

来源:互联网 发布:ubuntu命令行调整音量 编辑:程序博客网 时间:2024/05/17 03:05

今天用struts2进行权限管理数据更新时,出现以下问题:

No result defined for action cn.itcast.oa.view.action.RoleAction and result input

    com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:364)    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266)    com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)    org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)    com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)    com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)    com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)    com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
.......................

这种错误表单向action传值,action进行值的验证的时候发生的,目前我发现两种情况导致这种错误:

1、在页面中,向action传递了name相同的值,比如,页面中有两个 <s:hidden name="key“></s:hidden>

2、在页面中,传递过去的值的类型与在action中接收的值的类型不符合

例如、<input type="checkedbox" name="privilegeIds" value="${name}" id="cb_${id}"> //这里的${name}类型为字符串

在action中,接收privilegeIds的为,private Long[] privilegeIds;

因为这里的${name}类型为字符串,传递过去又用Long[]来接收,所以不匹配,也会发生上述错误



0 0
原创粉丝点击