0

我是 Struts 框架的新手,目前我正在使用 struts 框架开发一个基于 Web 的应用程序。

众所周知,在 Struts 应用程序中,我们可以覆盖validate()用户定义的 Formbean 类中的 以验证用户输入,同样,我可以在 Action 类的 execute() 中覆盖它吗?

如果可以,在将 ActionError 对象添加到 ActionErrors 对象之后,我需要做什么?只是帮我解释一下。

4

1 回答 1

2

你不能覆盖它,因为 Action 没有定义任何validate()方法。但是您可以在操作中执行验证,是的:

public ActionForward execute(ActionMapping mapping,
                             ActionForm form,
                             HttpServletRequest request,
                             HttpServletResponse response) {
    ...
    ActionMessages errors = doSomeValidation();
    if (!errors.isEmpty()) {
        saveErrors(request, errors);
        return mapping.getInputForward();
    }
    ...
}
于 2012-05-25T10:44:16.530 回答