2011-11-27 2 views
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 메서드로 직접 점프하는 것 같습니다. 내가 빠진 것이 있습니까? 감사!

+0

시도를한다 HttpServletRequest의 다른 오버로드의 validate() 메소드를 사용해야합니다. – Naved

+0

주어진 코드는 컴파일되지 않기 때문에 실제 코드가 아닙니다 (public 대신 Public). validate 메소드에 @Override 주석을 추가하여 ActionForm의 validate 메소드를 실제로 오버라이드하고 있는지 확인하십시오. 또한 ActionErrors에 오류를 포함 시키십시오. 콘솔에서 VALIDATING 메시지를 놓칠 수도 있습니다. –

+0

@JBNizet 실제 코드이지만 많은 유효성 검사가 있었기 때문에 편집 했으므로 여기에 넣으 려하지 않았습니다. 메토가 부모 메소드를 오버라이드하고 있습니다. – TGM

답변

1

는 대신의 ActionForm의 ValidatorForm와 행동 양식을 확인하고 나에게 결과를 알려

관련 문제