> Java > java지도 시간 > Struts2는 어떻게 입력 오류를 처리하고 INPUT 결과를 반환합니까?

Struts2는 어떻게 입력 오류를 처리하고 INPUT 결과를 반환합니까?

Mary-Kate Olsen
풀어 주다: 2024-12-01 12:52:10
원래의
241명이 탐색했습니다.

How Does Struts2 Handle Input Errors and Return an INPUT Result?

Struts2에서 입력 결과는 어떻게 작동하나요?

Struts2의 INPUT 결과는 워크플로 인터셉터가 필드 오류를 감지할 때 트리거됩니다. 변환 또는 유효성 검사 오류. 예외를 발생시키는 대신 이러한 오류는 입력 오류로 간주되므로 사용자 입력 수정을 요청하기 위해 INPUT 결과가 반환됩니다.

변환/검증 오류 처리

Struts2's 오류 처리 메커니즘에는 여러 주요 단계가 포함됩니다.

  1. 매개변수 인터셉터: 매개변수 설정을 시도합니다. 변환 중에 런타임 예외가 발생하면(예: NumberFormatException) 자동으로 무시되거나 개발자 알림과 함께 기록됩니다.
  2. 변환 오류 인터셉터: 모든 변환 오류를 식별하고 ActionContext에 필드 오류를 추가합니다. . 또한 필드에 유효성 검사 오류가 있는 경우 사용자에게 표시되도록 원래 값을 저장합니다.
  3. Validation Interceptor: XML, 주석 또는 작업 메서드를 기반으로 유효성 검사를 수행합니다. 유효성 검사가 실패하면 준수하지 않는 각 필드에 대해 ActionContext에 필드 오류를 추가합니다.
  4. 워크플로 인터셉터: 변환 및 유효성 검사 모두에서 필드 오류를 확인합니다. 오류가 있으면 INPUT 결과를 반환합니다. 그렇지 않으면 다음 인터셉터로 진행됩니다.

이 메커니즘을 활성화하려면 다음 인터셉터가 올바른 순서로 정의되었는지 확인하세요.

<interceptor-ref name="params"/>
<interceptor-ref name="conversionError"/>
<interceptor-ref name="validation"/>
<interceptor-ref name="workflow"/>
로그인 후 복사

추가 참고 정수 변환

숫자가 아닌 문자를 0으로 변환하려면 다음을 피하세요. int 데이터 유형을 반환하는 getter와 함께 value 속성을 사용합니다. 이로 인해 추가 변환 오류가 발생하여 값이 0이 될 수 있습니다. 대신 다음 구문을 사용하세요.

<s:textfield name="myIntField"/>
로그인 후 복사

Or

<s:textfield name="myIntField" value="%{myIntField}"/>
로그인 후 복사

위 내용은 Struts2는 어떻게 입력 오류를 처리하고 INPUT 결과를 반환합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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