struts 2 데이터 검증

18772 단어 struts 2 학습
struts 2 데이터 검증 방법
데 이 터 를 검증 할 때 전단 검증 이나 후 단 검증 을 선택 할 수 있 고 전단 은 자바 스 크 립 트 를 사용 하 며 백 엔 드 는 struts 를 사용 하 는 방법 을 선택 할 수 있 습 니 다.전단 을 사용 하 든 백 엔 드 를 사용 하 든 어떤 방법 을 한정 하거나 모든 방법 을 검증 할 수 있다.
action 을 작성 하여 검증 합 니 다.
  • 인증 조건 을 action 클래스 에 정의 합 니 다.
  • action 류 는 Action Support 류 를 계승 하여 부모 류 의 vaidate 방법 을 다시 쓰 고 서로 다른 검증 조건 을 이용 하여 판단 하 며 부합 되 지 않 으 면 잘못된 정 보 를 fielderror 에 기록 합 니 다.
  • public void validateAdmin() {
        if (!account.equals("123")) {
            //      
            this.addFieldError("accountError", "    ");
        } else if (passwd.equals("123")) {
            this.addFieldError("pwdError", "   ");
        }
    }
    
  • struts.xml 프로필 에 있 는 이 Action 의 결과 보기 에 Input 보 기 를 추가 합 니 다.시스템 은 action 인증 이 통과 되 지 않 을 때 이 보기 페이지 로 자동 으로 이동 합 니 다.
  • <result name="input">*.jspresult>
    
  • 검증 의 유효 범 위 를 설정 합 니 다.
  • 검증 방법validate()은 action 의 모든 방법 이 효과 적 이 고 자신 이 정의 하 는 방법 이 없 을 때 action 류 에 하나의 execute 방법 만 있 습 니 다.그러면 vaidate 방법 은 execute 방법 을 검증 하고 검증 을 통과 해 야 execute 방법 을 실행 할 수 있 습 니 다.그렇지 않 으 면 실행 하지 않 고 input 보기 페이지 로 바로 이동 합 니 다.
  • 한 가지 방법 만 검증 하려 면validate()방법 을validateMethodName()으로 수정 합 니 다.그 중에서 MethodName 은 자신 만 의 정의 가 있 습 니 다.

  • 페이지 에 발생 한 오 류 를 표시 합 니 다.
  • 페이지 에서 struts 2 탭 가 져 오기
  • 
    
    action 에서 검증 할 때 오류 정 보 를 Error 에 넣 었 습 니 다.Error 는 map 형식 이 고 키 쌍 을 넣 었 습 니 다.
  • 을 사용 하여 인증 방법의 시작 을 정의 하면 오류 정보(Error 의 value 값)를 페이지 에 표시 합 니 다.
  • <s:fielderror/>
    
    
    
    첫 번 째 방식 은 오류 정 보 를 이 지역 에 직접 표시 할 수 있 고 구체 적 인 오 류 를 지정 하지 않 아 도 모든 오류 정 보 를 표시 할 수 있다.두 번 째 방식 은 특정한 오류 정 보 를 특정한 위치 에 선택적으로 표시 하고 검증 할 때 검증 오류 가 발생 하면 실행 을 중단 합 니 다.즉,첫 번 째 검 증 된 오류 정보 만 표시 하고 뒤의 오류 정 보 를 표시 하지 않 습 니 다.value 값 은 Error 의 key 값 이 고 action 류 에서 스스로 정의 합 니 다.세 번 째 방식 은 같은 key 이름 에 여러 개의 오류 정 보 를 넣 고errors.keyName[i]방식 으로 구체 적 인 정 보 를 표시 할 수 있 으 며,순서 와 넣 는 순서 가 관련 되 어 있다.
    xml 파일 을 작성 하여 데이터 검증 을 진행 합 니 다.
  • action 류 의 가방 에 xml 파일 을 만 들 고 파일 이름 의 수 치 는 검증 범위 와 관계 가 있 습 니 다.
  • 전체 action 류 를 검증 하면 xml 파일 이름 은 ActionClassName-vaidate.xml 이 며,ActionClassName 은 항목 에 따라 변경 되 며,다른 부분 은 변경 할 수 없습니다.
  • 어떤 방법 을 검증 하면 xml 파일 이름 은 ActionClassName-ActionMethodName-Validation.xml 이 며,ActionClassName 과 ActionMethodName 은 항목 에 따라 변경 되 며,다른 부분 은 변경 할 수 없습니다.

  • xml 파일 에서 인증 조건 을 정의 하여 파일 헤더 에 제약 을 추가 합 니 다
  • 
    

    인증 조건 을 탭 에 기록 하고 내용 은 항목 에 따라 작성 합 니 다.
    <validators>
    	<field name="account">
    		<field-validator type="requiredstring">
    			<param name="trim">trueparam>
    			<message>   message>
    		field-validator>
    	field>
    validators>
    

    struts 는 표준 폼 검증 체 제 를 제공 하고 설정 파일 을 통 해 시스템 의 16 개의 폼 검증 기 를 호출 하여 검증 할 수 있 습 니 다.이 검증 기 들 은/xwork-core-2.3.24.1.jar/com.opensymphony.xwork2.validator.validator/default.xml문서 에서 볼 수 있다.
    <validators>
        <validator name="required" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>
        <validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>
        <validator name="int" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>
        <validator name="long" class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/>
        <validator name="short" class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/>
        <validator name="double" class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>
        <validator name="date" class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>
        <validator name="expression" class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>
        <validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>
        <validator name="email" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>
        <validator name="url" class="com.opensymphony.xwork2.validator.validators.URLValidator"/>
        <validator name="visitor" class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>
        <validator name="conversion" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>
        <validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>
        <validator name="regex" class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>
        <validator name="conditionalvisitor" class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/>
    validators>
    

    좋은 웹페이지 즐겨찾기