Java Struts忽略验证方法

Java Struts忽略验证方法,java,struts,actionform,Java,Struts,Actionform,这是我所有的。出于某种原因,控制流似乎直接跳到ActionForm的execute方法,因为我甚至无法在控制台中看到验证消息。有什么我遗漏的吗?谢谢 您需要使用另一个重载的validate()方法,该方法接受HttpServletRequest尝试使用ValidatorForm而不是ActionForm来验证您的操作表单,并告诉我结果。给定的代码不是真正的代码,因为它不编译(Public而不是Public)。尝试将@Override注释添加到validate方法中,以确保您实际上覆盖了Actio

这是我所有的。出于某种原因,控制流似乎直接跳到ActionForm的execute方法,因为我甚至无法在控制台中看到验证消息。有什么我遗漏的吗?谢谢

您需要使用另一个重载的validate()方法,该方法接受HttpServletRequest

尝试使用ValidatorForm而不是ActionForm来验证您的操作表单,并告诉我结果。给定的代码不是真正的代码,因为它不编译(Public而不是Public)。尝试将@Override注释添加到validate方法中,以确保您实际上覆盖了ActionForm的validate方法。还要尝试在ActionErrors中包含一个错误:您可能会错过控制台中的验证消息。@JBNizet这是真实的代码,但我编辑了它,因为有很多验证,所以没有把它们放在这里。methods正在重写父方法。@Naved它似乎与ValidatorForm配合得很好
<form-bean name="RegisterForm" type="com.mysite.form.RegisterForm" />

<action path="/register" type="com.mysite.action.RegisterAction" name="RegisterForm" input="/register.jsp" validate="true">
                <forward name="success" path="/welcome.jsp" />
                <forward name="failure" path="/register.jsp" />
            </action>
public class RegisterForm extends ActionForm{
private String name;

    /**
    Constructor
    Set+Get
    **/

    public ActionErrors validate(ActionMapping mapping, ServletRequest request) {

        ActionErrors errorList = new ActionErrors();
        System.out.println("VALIDATING");
        return errorList;
    }
}