2013-04-19 10 views
0

페이지에서 한 번 사용하면 꽤 잘 작동하는 합성 구성 요소가 있지만 두 번 이상 사용하면 작동하지 않습니다. 필드 :의 구성 요소가 내라고 가정 해 봅시다컴포지트 구성 요소 javax.faces.FacesException :보기에서 구성 요소 "inputID"을 찾을 수 없습니다.

<composite:implementation> 
      <h:form id="myForm" prependId="false"> 
        <p:message for="inputID" display="text"/> 
        <p:inputText binding="#{myBean.valueBind}" id="inputID" value="#{myBean.value}" required="true" /> 
        <p:commandButton process="@form" update="@form" action="#myBean.action} value="Do something" ajax="true"/> 
      </h:form> 
    </composite:implementation> 

그리고는 다음과 같이 사용 : 잘 작동하지만

<my:field id="field1"/> 

나는 그 아래에 이것을 추가하는 경우 :

<my:field id="field2"/> 

다음 예외가 발생합니다 javax.faces.FacesException: Cannot find component "inputID" in view.

내가 잘못하고있는 것을 이해하지 못합니까? 나는 양식 ID, 구성 요소 ID (field1) cc.attr.id을 사용하여 prepending 시도했다. 나는 단지 내가해야 할 일을 모른다.

저는 mojarra 2.1.13과 primefaces 3.5를 사용하고 있습니다. 어떤 도움을 주시면 감사하겠습니다.

감사합니다.

편집 : binding=.... 속성을 내 p:inputText에 추가 했으므로 문제가 발생하지만 초기 게시물에서는 생략했습니다.

+0

지금까지 게시 된 코드는 불완전하거나 실행중인 코드가 실행되고 있지 않습니다. – BalusC

+0

당신은 100 % 맞습니다. 나의 예는 더 간단하고 검증되지 않았습니다. 실제 문제가있는 코드를이 예제로 옮겨서 문제가 발생한 시점을 확인하기 위해이 문제를 발견했습니다. 나는'p : inputText'에'binding' 속성을 가지고 있습니다. 나는 그것을 꺼내면 잘 작동합니다. 두 구성 요소가 같은 것을 묶을 수 없다는 생각이 들었습니다. 오류가 더 적절하게 적용되기를 바랍니다. 이 일을 지적하고 올바른 길로 나를 데려다 주셔서 감사합니다. – casolorz

답변

0

이것은 binding 속성으로 밝혀졌습니다. 제거하면 문제가 해결되지만 다른 방법으로는 해당 필드가 무효화됩니다.