在struts ActionError validation()方法中转发输入页面失败

时间:2012-11-27 07:45:13

标签: java struts web-application-design

在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。

1 个答案:

答案 0 :(得分:0)

你是对的,表单验证控件永远不会进入Action类。所以这个问题与Action类无关。 我可以建议只检查您的资源包文件/属性文件,以确保您在那里放置相关的错误消息值,并且您正在将ActionForm类扩展到ValidatorActionForm / DynaValidatorActionForm类。