Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 JSF2.0H:datatable未使用提供的id属性_Jsf 2 - Fatal编程技术网

Jsf 2 JSF2.0H:datatable未使用提供的id属性

Jsf 2 JSF2.0H:datatable未使用提供的id属性,jsf-2,Jsf 2,我在JSF2页面中观察到以下行为(Mojarra 2.1.18/RedHat EAP 6.1,如果有用的话)。我有一个包装数据表的表单,我为表单和表提供了一个ID属性值。当我查看生成的html源文件时,我看到表ID被设置为自动生成的值,并且form ID属性没有在自动生成的表ID前面。即: 这组标记: <h:form id="form4"> <h:datatable id="notices" ...> ... </h:datatable>

我在JSF2页面中观察到以下行为(Mojarra 2.1.18/RedHat EAP 6.1,如果有用的话)。我有一个包装数据表的表单,我为表单和表提供了一个ID属性值。当我查看生成的html源文件时,我看到表ID被设置为自动生成的值,并且form 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>

//i、 e.id!=“通知”
...
JSF-xhtml文件中h:form/h:datatable前面有更多的元素,但是我在这里故意将它们排除在外(希望有人能够在没有额外混乱的情况下识别出这种症状)。当我试图在表中包含一些PrimeFaces p:commandbutton实例时,我遇到了一些问题。它们的命名不正确(即,它们在生成的ID中不包含封闭表单ID),这会导致“未找到ID的组件”servlet错误。如果我用h:commandbutton实例替换p:commandbutton实例,同样会出现不正确的命名(因此我不认为这是一个问题)。这种行为似乎是JSF页面格式错误的结果,但我还没有找到任何东西(对JSFXHTML文件进行NetBeansXML检查会返回一个成功的结果)。感谢您的帮助

致以最良好的祝愿


-安迪

好的,我想出来了。我遗漏了一个重要的细节-我将一个datatable组件绑定到id=“notices”h:datatable,即@perissf的可能重复-我不同意这是一个重复的问题。在发布我的问题之前,我已经回顾了你引用的帖子,它似乎与我的具体错误无关。我的错误是由于在会话作用域中的支持bean上对绑定组件进行了不正确的重载而导致的,并转化为拒绝为datatable的id属性提供的值。与您提供的可能重复的问题相比,这似乎是一个不同的问题/解决方案。