【问题标题】:It's possible to define an default ID to a composite component?是否可以为复合组件定义默认 ID?
【发布时间】:2013-04-24 19:19:02
【问题描述】:

是否可以为使用<ui:component> 创建的复合组件定义默认 ID?

即使我在<ui:component> 中设置了 ID,当组件在页面中呈现时,它也没有使用定义的 ID,并且从它下降的子代具有自动生成的 ID,而不是定义的 ID。

<ui:component 
    id="companySearch"
    xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:cc="http://java.sun.com/jsf/composite"
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:p="http://primefaces.org/ui" 
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://java.sun.com/jsf/core">

    <cc:interface>
    </cc:interface>

    <cc:implementation>     
    ...

【问题讨论】:

    标签: jsf jsf-2 composite-component


    【解决方案1】:

    需要在组件标签声明的id属性中指定。

    <my:compositeComponent id="companySearch" ... />
    

    复合组件是一个NamingContainer,它允许它可以在同一个视图中多次使用,而其具有固定ID的子组件不会导致“重复组件ID”错误。 NamingContainer 组件将其 ID 附加到子 ID。

    【讨论】:

    • 是的,这样就可以了,但是如果组件标签声明中没有设置id,就没有办法使用预定义/默认的id?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-16
    • 1970-01-01
    • 2012-08-20
    • 2019-01-29
    • 2019-08-24
    • 2014-10-15
    • 1970-01-01
    相关资源
    最近更新 更多