我的xhtml中有以下代码
<h:form id="xyForm">
<p:dataGrid id="xyGrid" ....>
<p:selectOneMenu id="code" ...> </p:selectOneMenu>
</p:dataGrid>
</h:form>
但是当我看到生成的代码时,它看起来像下面的
<select name="xyForm:xyGrid:0:code_input" tabindex="-1" id="xyForm:xyGrid:0:code_input"> </select>
我的问题是:为什么_input
会附加名称和id.
根据我的理解,ID应仅xyForm:xyGrid:0:code
而不是附加_input
。有人可以澄清或告诉我如何删除_input
吗?
答案 0 :(得分:1)
{h}页面中id
属性应该是唯一的。
在呈现SelectOneMenu时,select
标记包含在div
标记内。 div
标记将具有组件的ID,即xyForm:xyGrid:0:code
,因此选择标记应具有不同的ID是有意义的。
此外,这是Primefaces中的常见模式,在SelectBooleanCheckbox
等其他组件中也可以看到。
您不必试图删除_input
,而是必须考虑如何解决它。