JSF 2.0 h:数据表不使用提供的id属性

时间:2014-06-16 23:52:44

标签: jsf-2

我在JSF 2页面中观察到以下行为(Mojarra 2.1.18 / RedHat EAP 6.1,如果这很有用)。我有一个包装数据表的表单,我正在为表单和表提供ID属性值。当我查看生成的html源文件时,我看到表ID被设置为自动生成的值,并且表单ID属性不会添加到自动生成的表ID之前。那就是:

这组标签:

<h:form id="form4">
   <h:datatable id="notices" ...>
    ...
   </h:datatable>
</h:form>    

产生以下html:

<form id="form4" ...>
   <table id="j_itd68"> //i.e. id != "notices"
   ...
   </table>
</form>

在h:form / h:datatable之前的JSF xhtml文件中有更多元素,但我有意在这里将它们排除在外(希望有人可能在没有额外混乱的情况下识别这种症状)。当我尝试在表中包含一些PrimeFaces p:commandbutton实例时,对我来说出了问题。它们没有被正确命名(即它们在生成的ID中不包括封闭的表单ID),这会导致“找不到ID的组件”servlet错误。如果我用h:commandbutton实例替换p:commandbutton实例,则会出现相同的不正确命名(所以我不认为这是PrimeFaces问题)。这种行为似乎是格式错误的JSF页面的结果,但我还没有找到任何东西(对JSF xhtml文件的NetBeans XML检查会返回一个成功的结果)。任何帮助表示赞赏。

致以最诚挚的问候,

-Andy

0 个答案:

没有答案