2011-11-14 4 views
1

JSF 2.0은 Bean Validation (JSR 303)을 제공하고 있으며 자체적으로 Validation framework을 제공합니다. 어떤 것을 선택할 지 혼란 스럽습니다.JSF 2.0에는 Bean 유효성 검사 (JSR 303)와 자체 유효성 검사 프레임 워크가 있습니다.

JSF의 유효성 검사 프레임 워크에서 XHTML 뷰 레이어에서 제약 조건을 지정할 수 있습니다. 즉 최대 길이. 빈 유효성 검사를 사용하는 동안 bean의 주석 (@)을 통해 제약 조건을 지정합니다.

JSF Validation 프레임 워크를 플러그인 게이블 시도로 보았고 bean 검증 JSR은 우아한 솔루션으로 누구나 이에 대해 언급 할 수 있습니까?

누군가가 서로를 사용했는지 그리고 왜 사용했는지, 또는 두 사람이 함께 사용했는지 확인할 수 있습니까?

답변

3

우선, Bean 유효성 검사는 이 아니며 JSF의 부분입니다. 이는 JSF가 또한 Java EE의 일부이기도합니다. Bean 유효성 검사는 비 JSF 응용 프로그램에서도 사용할 수 있습니다. Bean 유효성 검사는 유효성 검사 프레임 워크에 Java EE 표준을 제공하기 위해 설계되었습니다.

이러한 검증 방법의 주요 차이점은 JSF 자체 유효성 검증이 뷰 레벨에서 제어되고 Bean 유효성 검증이 모델 레벨에서 제어된다는 것입니다. 또한 기술적 인 차이점이 있습니다. 빈 유효성 검사는 모든 컨테이너의 상자에서 반드시 지원되는 것은 아닙니다. Tomcat과 같은 간단한 servletcontainer는이를 지원하지 않습니다. Bean Validation API/impl에 webapp를 직접 제공해야합니다.

제어 권한이없는 모델을 사용하는 경우 Bean 유효성 검사를 활용하거나 JSF 뷰에서 유효성을 정의하기 위해 다른 모델로 래핑하기로 결정해야합니다. 어떤 선택을 할 것인가는 기능적 및 기술적 요구 사항에 달려 있습니다. 둘 다 똑같이 잘 작동합니다.

완전히 제어 할 수있는 모델을 사용하고 있고 JSF 이외의 다른 뷰에서도 재사용되고 유효성 검사 제약 조건은 데이터베이스 데이터 모델에 완전히 의존하는 모델을 사용하는 경우 Bean 유효성 검사는 JSF 자체 유효성 검사보다 더 나은 옵션입니다 유효성 검증 제한 조건에서 코드 반복을 최소화합니다.

0

프로젝트의 확장 성을 촉진하려는 경우 (예 : CRUD 작업의 경우) 외부의 일부 엔터티 서비스를 노출하려는 경우와 같이 모델에서의 Bean 유효성 검사가 더 적합합니다.

관련 문제