ページで 1 回使用するとうまく機能する複合コンポーネントがありますが、複数回使用すると機能しません。コンポーネントが my:field と呼ばれているとしましょう:
<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
。何をする必要があるのか わかりません。
私は mojarra 2.1.13 と primefaces 3.5 を使用しています。どんな助けでも大歓迎です。
ありがとうございました。
編集:問題の原因となっbinding=....
ている属性を追加しましp:inputText
たが、最初の投稿では省略していました。