복합 키가있는 업데이트 양식이 있습니다. 각 복합 키에 숨겨진 필드가 있으므로 모든 복합 키가 outputbox에 표시됩니다. 이러한 출력 상자 값은 유효성 검사 오류 후 비어 있습니다. 이 문제를 어떻게 해결합니까? 나는 같은 페이지에 있으므로 가치가 없어야한다.JSF 유효성 검사 오류, 분실 값
답변
이것은 사실 h:inputHidden
의 비 직관적 인 행동입니다. (저는 Mojarra 문제 목록에서 issue을 제출했습니다.하지만 아무 것도하지 않는 것 같습니다.) 전체 문제는 구성 요소의 값이 불필요하게 이고이 전체 유효성 검사주기를 거친 반면 사용자가 입력 할 수있는 방법이 없다는 것입니다. 유효성 검사가 실패하면 잃어 버리게됩니다. 이 직관적이지 않은 동작을 수정하는 데는 최소한 세 가지 방법이 있습니다.
첫 번째 방법은 대신 h:inputHidden
에 binding
을 사용하는 것입니다
<h:inputHidden binding="#{bean.hidden}" />
이런 식으로 값이 불필요한 검증주기를 받아야하지 않습니다. 그러나 이것은 백킹 빈 코드의 값을 얻거나 설정하는 방법을 변경해야합니다. 예를 들어 (그리고 IMHO 바람직한 방법)
private HtmlInputHidden hidden = new HtmlInputHidden(); // +getter +setter.
public void setHiddenValue(Object hiddenValue) {
hidden.setValue(hiddenValue);
}
public Object getHiddenValue() {
return hidden.getValue();
}
둘째 Tomahawk의 t:saveState
대신 사용한다.
<t:saveState value="#{bean.property}" />
가장 큰 이점은 백업 빈 코드에서 아무 것도 변경할 필요가 없다는 것입니다. 적용 요청 값 단계 이전에 값을 일찍 복원합니다. 아직 라이브러리를 추가하지 않으면 라이브러리를 추가해야하지만 Tomahawk는 기본 JSF 구현에 누락 된 구성 요소/기능 인 t:inputFileUpload
, t:dataList
, t:dataTable preserveDataModel="true"
, t:selectOneRadio layout="spread"
등의 것보다 t:saveState
뿐 아니라 훨씬 더 많은 이점을 제공합니다. 노력.
세 번째 방법은 세션 범위가있는 bean에 저장하는 것이지만, 실제로 요청 범위 변수에 대해서는 원하지 않습니다. 그것은 단지 "wtf"를 줄 것입니다. 최종 사용자가 동일한 세션에서 여러 개의 탭/창을 열었을 때 경험합니다.
- 1. 유효성 검사 오류 후 jsf viewparam이 손실되었습니다.
- 2. JSF 수명주기 (유효성 검사)
- 3. JSF 유효성 검사 필수 필드
- 4. JSF 유효성 검사 모범 사례
- 5. 외부 유효성 검사 규칙 JSF
- 6. 속성 당 JSF 유효성 검사
- 7. JSF : 특수 문자 유효성 검사
- 8. 빈 유효성 검사 VS JSF 유효성 확인
- 9. W3 유효성 검사 오류
- 10. Html.DropDownList 유효성 검사 오류가없는 유효성 검사 오류
- 11. JSF 2.0 유효성 검사 요약 메시지
- 12. 유효성 검사 전에 JSF 새로 고침
- 13. asp.net - 유효성 검사 오류
- 14. jQuery를 유효성 검사 오류
- 15. Wpf의 유효성 검사 오류
- 16. 유효성 검사 오류 메시지
- 17. jquery 유효성 검사 오류
- 18. 스크립트 유효성 검사 오류
- 19. 레일 유효성 검사 오류
- 20. 정규식 | 유효성 검사 오류
- 21. 유효성 검사 오류
- 22. 유효성 검사 페이지 오류
- 23. cakephp, 유효성 검사 오류
- 24. JSF 복합 구성 요소 유효성 검사
- 25. JSF 2.0 데이터베이스의 유효성 검사 메시지
- 26. JSF 유효성 검사 CSS 스타일 변경
- 27. JSF 프레임 워크를 사용한 유효성 검사
- 28. JSF 필수 필드 유효성 검사 - 도움이 필요합니다
- 29. jQuery 유효성 검사 오류 위치
- 30. XMLHttpRequest의 유효성 검사 오류 확인