如何在jsf / primefaces中找到未命名的组件

时间:2014-01-17 08:32:35

标签: jsf-2 primefaces

在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如下: enter image description here

我想,我需要能够为红色矩形的div赋予一个id,其类为ui-layout-unit-contentui-widget-content。但是,我无法向ui:define组件提供ID,是吗?

此外,任何有关如何以更连贯的方式表达我的问题的帮助表示赞赏。感谢。

1 个答案:

答案 0 :(得分:1)

复合组件是naming container,其中(除其他外)意味着它们向JSF生成的clientId添加“级别”。

只需命名组件的调用

<ui:define name="content">
    <denovo:poli id="mycomponent" ... />
</ui:define>