在struts-config.xml中:
<action path="/PackageUpdateFilesSubmit"
type="com.biscom.fds.action.PackageAction" scope="request"
name="packageForm" validate="true"
input="/packages/packageUpdateFiles.jsp" parameter="method"
roles="SENDER">
<forward name="success" path="/PackageView.do?method=view" />
<forward name="warning" path=".fdsApp.message" />
<forward name="failure" path=".fdsApp.message" />
</action>
在PackageForm.java中(其中扩展了ActionForm类)
@Override
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
// TODO Auto-generated method stub
ActionErrors errors = super.validate(mapping, request);
// Only need crossfield validations here
if (filename3 == null) {
errors.add(ActionMessages.GLOBAL_MESSAGE, new
ActionMessage("page.externalAuthSource.list.error.empty"));//add("error",
new ActionError("error.custform"));
}
return errors;
}
我期望什么:
发生错误时,将重定向到“ /packages/pUF.jsp”页面。
怎么了:
发生HTTP错误500。
注意:在我的控制器中,属性“ inputForward”的设置值为true。
最佳答案
没错,表单验证控件永远不会进入Action类。因此,此问题与Action类无关。
我的建议是只检查您的资源束文件/属性文件,以确保将相关的错误消息值放在其中,并且将ActionForm类扩展为ValidatorActionForm / DynaValidatorActionForm类,也可以不扩展。