2
<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>
RegisterForm스트럿 방법
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;
}
}
이것은 내가 모두 유효하다 무시. 어떤 이유로 콘솔에서 VALIDATING 메시지를 볼 수 없기 때문에 컨트롤 흐름이 ActionForm의 execute 메서드로 직접 점프하는 것 같습니다. 내가 빠진 것이 있습니까? 감사!
시도를한다 HttpServletRequest의 다른 오버로드의 validate() 메소드를 사용해야합니다. – Naved
주어진 코드는 컴파일되지 않기 때문에 실제 코드가 아닙니다 (public 대신 Public). validate 메소드에 @Override 주석을 추가하여 ActionForm의 validate 메소드를 실제로 오버라이드하고 있는지 확인하십시오. 또한 ActionErrors에 오류를 포함 시키십시오. 콘솔에서 VALIDATING 메시지를 놓칠 수도 있습니다. –
@JBNizet 실제 코드이지만 많은 유효성 검사가 있었기 때문에 편집 했으므로 여기에 넣으 려하지 않았습니다. 메토가 부모 메소드를 오버라이드하고 있습니다. – TGM