2017-02-22 8 views
0

유효성 검사 오류가 발생합니다 : 값이 유효한 오류가 아닙니다. 문제가 동일 메소드라고 식별했습니다. 선택한 객체가 인수로 올바르게 전달되지만 어떤 이유로 인해 비교 대상은 잘못되었습니다. 여기 h : selectOneListBox 유효성 검사 오류 : 값이 유효하지 않습니다.

<div class="col-sm-8"> 
      <h:selectOneListbox id="${cc.attrs.id}_test" converter="#{cc.attrs.converter}" 
           size="#{cc.attrs.selector.selectedList.size()+1}" style="height: 150px" 
           value="#{cc.attrs.selector.removeItem}" styleClass="form-control"> 
      <f:selectItems value="#{cc.attrs.selector.selectedList}" var="test" 
          itemValue="#{test}" 
          itemLabel="#{test.displayName}" /> 
      <f:ajax event="change" render="${cc.attrs.id}_jts_panel ${cc.attrs.id}_legend" /> 
      </h:selectOneListbox> 
</div> 

등호 방법이다

@Override 
    public boolean equals(Object object) 
    { 
    if (!(object instanceof ObjectTest)) 
    { 
     return false; 
    } 

    ObjectTest other = (ObjectTest) object; 

    if (this.attribute1 == null || this.attribute2 == null) { 
     return false; 
    } 

    if (other.attribute1 == null || other.attribute2 == null) { 
     return false; 
    } 

    if ((this.attribute1.getName() == null && other.attribute1.getName() != null) || (this.attribute1.getName() != null && !this.attribute1.getName().equals(other.attribute1.getName()))) 
    { 
     return false; 
    } 
    if ((this.attribute2.getName() == null && other.attribute2.getName() != null) || (this.attribute2.getName() != null && !this.attribute2.getName().equals(other.attribute2.getName()))) 
    { 
     return false; 
    } 
    return true; 
    } 

지금 어떤 이유로 this.attribute1.getName()가 other.attribute1.getName 다르다(). equals 메서드에 전달 된 개체는 올바른 개체이지만 개체 자체는 전달 된 개체와 다른 개체입니다. equals 메소드가있는 엔티티 클래스이므로 this.attribute의 값은 어떻게 선택됩니까? 내가 뭔가 잘못하고 있는거야? 내가 추가 한 코멘트가 문제를 해결하고 당신이 그것을 추가 요청 때문에

+0

내 생각 엔 변환기가 문제를 일으키는 것입니다 :'converter = "# {cc.attrs.converter}" "이게 무엇을 평가합니까? –

+0

올바른 Jorge입니다. 답을 답으로 추가하여 올바른 답으로 받아 들일 수 있습니까? 그리고 고마워. –

+0

끝냈습니다. 설명 할 내용이 많지 않아서 당신이 묻는 것처럼 대답을 덧붙였다. 그것이 당신을 도왔다 고 다행. :) –

답변

1

, 여기있다 :

문제는 사용중인 변환기에서 발생했다 : 당신의 문제를 이해하는 것이 훨씬하지

converter="#{cc.attrs.converter}"