【问题标题】:jsf difference between implicit objects cc and componentjsf隐式对象cc和component的区别
【发布时间】:2011-07-04 17:48:29
【问题描述】:

也许这是一个愚蠢的问题,但我使用

cc

引用复合组件,例如 cc.attrs.randomAttr 但我也见过

component

隐式对象,我使用它是因为有人告诉我,但我真的不明白它的用途。谁能解释一下?

【问题讨论】:

    标签: java jsf jsf-2 composite-component


    【解决方案1】:

    cc 是指评估时正在处理的顶级复合组件。

    component 就是正在处理的 ui 组件。

    因此,当在复合组件中时,cc 指的是“父”组件,而component 用于单个组件时指的是该特定实例。或者对于简单的案例:

    cc == component.getCompositeComponentParent(component),其中组件是构建复合组件的组件。

    例如考虑以下复合组件:

    <html 
        xmlns="http://www.w3.org/1999/xhtml"
        xmlns:h="http://java.sun.com/jsf/html"    
        xmlns:cc="http://java.sun.com/jsf/composite"
    >
        <cc:interface/>
    
        <cc:implementation>
    
            <h:outputText value="Own ID: #{component.id}, parent composite ID: #{cc.id}" /> <br/>
            <h:outputText value="Own ID: #{component.id}, parent composite ID: #{cc.id}" />
    
        </cc:implementation>    
    
    </html>
    

    在 Facelet 上使用它会打印 2 个不同的“自己的”ID,即两个 outputText 组件中的一个,而复合 ID 在两行上都是相同的。

    请注意,当涉及到复合组件的多个嵌套时,事情可能会变得有点复杂。

    【讨论】:

    • 非常有代表性的答案。谢谢阿詹!这个例子真的帮助了我。
    猜你喜欢
    • 2019-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-08
    • 2019-05-26
    • 1970-01-01
    • 2010-12-03
    相关资源
    最近更新 更多