在primefaces / jsf网页中,我无法找到哪些组件没有id,因为生成的客户端ID为j_idt42:police-table-id:policeler
。任何人都可以帮我找到它的组成部分吗?
很快,我有一个完整的页面布局。在此布局的中心,我使用我的一个复合组件定义内容。最后,在这个复合实现中,有一个位于表单内的数据表。表单的ID为police-table-id
,dataTable的ID为policeler
。
layout.xhtml
<p:layoutUnit id="center-id" position="center" resizable="true">
<ui:insert name="content">Put default content here, if any.</ui:insert>
</p:layoutUnit>
mycomposite.xhtml
<composite:implementation>
<h:form id="police-table-id">
<p:growl id="police-table-messages" />
<p:dataTable id="policeler" var="pol"
value="#{cc.attrs.policeBeanName.objectList}"...
actualPage.xhtml
<ui:define name="content">
<denovo:poli... />
</ui:define>
生成的html如下:
我想,我需要能够为红色矩形的div赋予一个id,其类为ui-layout-unit-content
和ui-widget-content
。但是,我无法向ui:define
组件提供ID,是吗?
此外,任何有关如何以更连贯的方式表达我的问题的帮助表示赞赏。感谢。
答案 0 :(得分:1)
复合组件是naming container,其中(除其他外)意味着它们向JSF生成的clientId添加“级别”。
只需命名组件的调用:
<ui:define name="content">
<denovo:poli id="mycomponent" ... />
</ui:define>