> Java > java지도 시간 > Struts2는 변환 및 유효성 검사 오류를 어떻게 처리하고 적절한 입력을 보장합니까?

Struts2는 변환 및 유효성 검사 오류를 어떻게 처리하고 적절한 입력을 보장합니까?

Patricia Arquette
풀어 주다: 2024-11-30 06:15:13
원래의
525명이 탐색했습니다.

How Does Struts2 Handle Conversion and Validation Errors and Ensure Proper Input?

Struts2의 INPUT 결과 이해 및 변환/검증 오류 처리

변환/검증 오류: Not Blocking 오류

Struts2는 변환 및 검증 오류를 입력 오류보다는 차단 오류. 즉, 예외가 발생하지 않고 대신 사용자에게 알리고 유효한 입력을 요청합니다.

작동 방식

  1. 매개변수 인터셉터: 매개변수 설정을 시도합니다. . NumberFormatException과 같은 런타임 예외가 발생하면 처리되거나 기록됩니다.
  2. 변환 오류 인터셉터: 변환 오류를 확인하고 그에 따라 필드 오류를 추가합니다. 후속 요청 시 올바른 입력을 표시하기 위해 원래 값이 저장됩니다.
  3. 검증 인터셉터: 요청된 검증을 수행하고 잘못된 필드에 대한 필드 오류를 추가합니다.
  4. 워크플로 인터셉터 : 필드 오류를 확인합니다. 없으면 실행이 계속됩니다. 오류가 발견되면 INPUT 결과가 반환됩니다.

올바른 인터셉터 순서

메커니즘이 작동하려면 다음 인터셉터가 사용자 정의에 있어야 합니다. 올바른 순서로 쌓기:

  • 매개변수 인터셉터
  • 변환 오류 인터셉터
  • 검증 인터셉터
  • 워크플로 인터셉터

부차 질문: 알파벳을 0으로

알파벳이 정수 필드에 입력되면 해당 필드의 getter에 대한 기본 동작입니다. 0을 반환합니다(int가 사용되는 경우).

원래 값 처리

Conversion Interceptor는 후속 요청을 위해 원래 값을 저장한다고 주장합니다. 그러나 value 속성이 JSP 태그에 사용된 경우 이 동작이 일관되지 않는 버그가 존재했습니다. 이 버그가 수정되었으므로 후속 요청에서 원래 값이 올바르게 표시되어야 합니다.

모범 사례

  • 인터셉터 스택을 올바르게 구성하십시오.
  • 코드를 확인하세요. , 특히 값 속성의 사용.
  • 값 속성을 사용하는 경우 올바른 구문(예: value =)을 사용하세요. "%{myIntField}".
  • 테스트를 위해 처음에는 값 속성을 제거하여 동작을 확인한 다음 디버그하여 버그를 찾습니다.

위 내용은 Struts2는 변환 및 유효성 검사 오류를 어떻게 처리하고 적절한 입력을 보장합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿