2013-06-10 5 views
0

Mojara JSF 2.1.21과 함께 Spring Webflow 2.4.0.M1을 사용하고 있습니다. h : selectOneMenu with 유효성 검사 오류시 이전 선택 사항을 표시하십시오.

나는 매우 간단한 시간이있다 : selectOneMenu을과 같이 :

<h:selectOneMenu id="title" value="#{person.title}" required="true" requiredMessage="Required title"> 
     <f:selectItem noSelectionOption="true" itemLabel="Please Select" itemValue="" /> 
     <f:selectItem itemLabel="Mr" itemValue="MR" /> 
     <f:selectItem itemLabel="Mrs" itemValue="MRS" /> 
    </h:selectOneMenu> 
    <p:message for="title"/> 

선택하십시오에서 왼쪽 값으로 양식을 제출 한 후, 내가 필요한 메시지가 표시 얻을. 그런 다음 'Mr'옵션을 선택하고 다시 제출하면 페이지의 다른 필드에 오류가있는 경우 페이지가 다시로드되고 제목에 필요한 메시지가 사라지고 Mr이 예상대로 선택됩니다. Please Select and Submit (다시 선택하십시오)로 다시 변경하면 필요한 메시지가 다시 표시되지만 선택한 옵션은 'Please Select (선택)'대신 'Mr'(으)로 돌아갑니다. # {person.title} EL은 기본적으로 빈 문자열로 설정된 String에 바인딩됩니다. 지금까지는 h : inputText에서 같은 종류의 일을 올바르게 수행하므로 selectOneMenu에서만 문제가되는 것 같습니다.

아이디어가 있으십니까? webflow 2.3.2.RELEASE도 시도해 보았는데 같은 문제가 발생합니다.

약 4 세의 https://java.net/jira/browse/JAVASERVERFACES-932과 같은 문제인 것처럼 보이며 고정 해상도가 있습니다. 확실히 고쳐지지 않았습니다. MenuRenderer를 확장하고 Jira 문제 끝 부분에서 언급 한 제안을 사용하여 renderOption 메서드를 재정의하려고 시도합니다.

답변

0

MenuRenderer를 확장하고 renderOption 메서드를 Jira 문제 끝 부분에서 언급 한 제안으로 재정의하면 문제가 해결되었음을 확인할 수 있습니다.

는-config.xml의 얼굴 당신에 패치 렌더러를 추가하는 것을 잊지 마십시오

<render-kit> 
    <renderer> 
     <component-family>javax.faces.SelectOne</component-family> 
     <renderer-type>javax.faces.Menu</renderer-type> 
     <renderer-class>your.package.PatchedMenuRenderer</renderer-class> 
    </renderer> 
</render-kit> 
관련 문제