문제

진짜 질문 : 초기 페이지로드에서 모든 구성 요소에 대한 특정 속성을 지우는 방법이 있습니까?

배경 정보 :

내 응용 프로그램에는 서비스 계층에 대해 말하는 JSF 2.0 프론트 엔드 레이어가 있습니다 (서비스 계층은 관리되는 콩에 주입되는 스프링 콩으로 구성됨).

서비스 계층은 자체 유효성 검사를 수행하며, 코드 복제를 시도하고 피하기 위해 자체 유효성 검사기 클래스를 사용하여 프론트 엔드 계층에서 동일한 검증을 수행합니다. 이 유효성 검사기 클래스는 JSF 유효성 검사기가 아니라 Pojos입니다.

작업에 대한 유효성 검사 만 수행하므로 액션 방법에서 검증을 수행하고 유효한 경우에만 서비스 계층으로 호출해야합니다.

검증을 할 때 반사를 사용하여 UICOMPONENTS에 스타일 클래스와 제목을 설정합니다 (따라서 UICOMPONTE에 setStyleClass (: String) 또는 settitle (: String) 메소드가있는 경우 사용).

이것은 훌륭하게 작동하며, 유효성 검사 오류에서 오류 메시지가 포함 된 팝업이있는 멋지게 스타일링 된 텍스트 상자가 표시됩니다. 그러나 구성 요소는 세션 범위의 관리 콩에 묶여 있으므로 이러한 속성이 고정되는 것 같습니다. 따라서 탐색하고 같은 페이지로 돌아 오면 스타일 클래스와 제목이 여전히 오류 상태에 있습니다.

각 초기 페이지로드에서 스타일 클래스 및 제목 속성을 지우는 방법이 있습니까?

감사,

제임스

추신 : JSF 1.2와 함께 이전에 있었던 문제로 인해 액션 방법을 검증하기 위해 동작 방법을 사용하고 있으며 검증 방법이지만 그 이유를 기억할 수 없습니다. 그래서 액션 방법을 사용하여 검증하는 이유입니다.

도움이 되었습니까?

해결책

좋아, 그래서 나는 phaselistener를 사용해야한다. Balusc 의이 블로그 항목 그리고 이 다른 블로그 항목, 그것은 내가 이미하고있는 일을하는 것이 훨씬 더 좋은 방법입니다 - 반사를 사용하여 스타일을 수동으로 설정합니다. 이것은 메시지와 함께 모든 구성 요소를 가져오고 강조 표시합니다 ... 나는 똑같이 할 것입니다. 그러나 속성을 추가 할 수 있다고 생각합니다. 대신 아직 시도하지 않았습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top