我有一个复合组件,当在页面中使用一次时效果很好,但如果我多次使用它就不起作用。假设该组件名为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.
我不明白我做错了什么?我已尝试使用cc.attr.id
预先填写表单ID,组件ID(field1)。我只是不知道自己需要做什么。
我使用的是mojarra 2.1.13,并且使用的是曲面3.5。任何帮助将非常感激。
谢谢。
编辑:我将binding=....
属性添加到我的p:inputText
,因为这是导致问题的原因,但我在初始帖子中省略了它。
答案 0 :(得分:0)
原来是binding
属性。删除它会使事情有效,我只需要一种不同的方法来使该字段无效。