0

ページで 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たが、最初の投稿では省略していました。

4

1 に答える 1

0

binding属性であることが判明しました。それを削除するとうまくいきます。そのフィールドを無効にする別の方法が必要です。

于 2013-04-20T15:14:33.150 に答える