2011-10-12 2 views
1

tomcat 7에서 JSF2.0을 사용하고 있으며 내 페이지에 selectOneListBox 몇 개가 정의되어 있습니다. 이들은 처음에 getAsObject이 문자열 ARG2가 null로 정의 컨버터의 호출되는 페이지에있는 모든 이벤트의 경우getAsObject에서 arg2가 null로 전달되었습니다.

<h:selectOneListbox value="#{memberBean.currentAvailable}" converter="memberConverter" 
          size="10" style="width:150px;"> 
      <f:selectItems value="#{memberBean.availableMembers}" var="member" 
          itemValue="#{member}" itemLabel="# {member.fname} #{member.lname}" /> 
     </h:selectOneListbox> 
     <h:panelGrid> 
      <a4j:commandButton value="Add" render="groupMessage_Page" listner="#{memberBean.moveAvaiableMember}"/> 
      <a4j:commandButton value="Remove" render="groupMessage_Page" listner="#{memberBean.moveSelectedMember}"/> 
     </h:panelGrid> 
     <h:selectOneListbox value="#{memberBean.currentSelected}" converter="memberConverter" 
          size="10" style="width:150px;"> 
      <f:selectItems value="#{memberBean.selectedMembers}" var="member" 
         itemValue="#{member}" itemLabel="#{member.fname} #{member.lname}" /> 
     </h:selectOneListbox> 

아래로 빈 ArrayLists에 할당됩니다. 그 방법은 null 인수와 함께 전화 또는 나는 잘못된 방식으로 뭔가를 초기화 오전 그것은 정상적인 일이 궁금합니다.

답변

1

JSF 1.x에서는 발생하지 않았지만 JSF 2.x에서 발생합니다. 이것은 @NotNull과 같은 bean valiation을 적절하게 지원하기 위해 수행 된 작업들 중 하나입니다. bean 검증을 통과하기 전에, JSF는 먼저 그것을 변환하기위한 스펙을 가지고있다. nullcheck을 추가하고 null 또는 다른 것을 돌려 주면됩니다.

web.xml에서 다음 컨텍스트 매개 변수는 비활성화됩니다,하지만 당신은 할 수 없습니다이 방법은 더 이상 @NotNull을 사용 :

<context-param> 
    <param-name>javax.faces.VALIDATE_EMPTY_FIELDS</param-name> 
    <param-value>false</param-value> 
</context-param> 
+0

감사 BalusC을 회신. nullcheck로 시도한 것처럼 nullcheck으로 문제가 해결되지 않습니다. 이 경우에는 요청 응답주기가 완료되지 않았고 commandButton이 작업을 완료하지 않는다고 생각합니다. 빈에서 SelectItem을 만들고 h : selectItems에 사용하면 모든 것이 잘되고 getAsObject에 null이 없습니다. – WuR

+0

응? 너는 어떻게 그걸 nullchecking하고 있니? 'if (value == null) return null;과 같이 간단해야합니다. – BalusC

+0

을 web.xml에 넣는 것도 도움이되지 않습니다. 나는 여전히 arg2 = null을 얻고있다. – WuR

관련 문제