페이지에서 한 번 사용하면 꽤 잘 작동하는 합성 구성 요소가 있지만 두 번 이상 사용하면 작동하지 않습니다. 필드 :의 구성 요소가 내라고 가정 해 봅시다컴포지트 구성 요소 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
에 추가 했으므로 문제가 발생하지만 초기 게시물에서는 생략했습니다.
지금까지 게시 된 코드는 불완전하거나 실행중인 코드가 실행되고 있지 않습니다. – BalusC
당신은 100 % 맞습니다. 나의 예는 더 간단하고 검증되지 않았습니다. 실제 문제가있는 코드를이 예제로 옮겨서 문제가 발생한 시점을 확인하기 위해이 문제를 발견했습니다. 나는'p : inputText'에'binding' 속성을 가지고 있습니다. 나는 그것을 꺼내면 잘 작동합니다. 두 구성 요소가 같은 것을 묶을 수 없다는 생각이 들었습니다. 오류가 더 적절하게 적용되기를 바랍니다. 이 일을 지적하고 올바른 길로 나를 데려다 주셔서 감사합니다. – casolorz