我的程序里没有加class-validation。xml文件前运行正常,可是加了它之后,就报了以下错误,请前辈们帮帮忙。看看是为什么,我是第一次用struts2.0框架,都不太熟悉。
[2010-01-20 14:10:30] ERROR [http-8080-Processor24] com.opensymphony.xwork2.util.logging.commons.CommonsLogger.error(27) | Could not find action or result
No result defined for action src.model.action.A001$$EnhancerByCGLIB$$fe6bd745 and result input
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:364)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
[2010-01-20 14:10:30] ERROR [http-8080-Processor24] com.opensymphony.xwork2.util.logging.commons.CommonsLogger.error(27) | Could not find action or result
No result defined for action src.model.action.A001$$EnhancerByCGLIB$$fe6bd745 and result input
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:364)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
把result的jsp路径加上前加上/
不加上就是以当前jsp文件夹为基准路径
<package name="A001" extends="struts-default" >
<action name="A00100" class="A001" method="InitAction">
<result type="stream">
<param name="contentType">image/jpeg</param>
<param name="inputName">inputStream</param>
</result>
</action>
<action name="A00101" class="A001" method="InsertAction">
<result name="input">/page/fp00001/FP00001.jsp</result>
</action>
</package>
这个就是我的action配置。
<param name="contentType">image/jpeg </param>
<param name="inputName">inputStream </param>
</result>
没有试过这样的配置但
<result name="input">/page/fp00001/FP00001.jsp </result>
应该是没问题的坐等高人
2.class-validation.xml:InitAction和InsertAction进行校验。所以错误Could not find action or result。
<s:fielderror>
<s:param>username</s:param>
</s:fielderror>
或者
<s:fielderror/>
了么?嗨,真不知道怎么帮你看
<s:fielderror/>
2.xml内容贴出来。
<s:form method="post" validate="true" action="A00101" theme="simple">
<table>
<tr>
<td colspan="2">※标注*标识的为必须填写信息。</td>
</tr>
<tr>
<td>用户名(登录名):</td><td><s:textfield name="yhm" ></s:textfield><s:fielderror theme="simple" cssClass="errorMessage"></s:fielderror></td>
</tr>
<tr>
<td>验证码:</td><td><s:textfield name="yzm"></s:textfield><IMG src="A00100.action" title=点击图片刷新验证码 onclick="changeValidateCode(this)" /> </td>
</tr>
<tr>
<td></td><td><s:submit name="save" value="完成注册" action="A00101" theme="simple"/></td>
</tr>
</table>
</s:form>
</div>
这是我的页面代码
<field name="yhm">
<field-validator type="requiredstring">
<message>请输入信息</message>
</field-validator>
</field>
</validators>
改成
A001-A00101-validation.xml