【问题标题】:Custom component user object value自定义组件用户对象值
【发布时间】:2011-03-10 20:06:05
【问题描述】:

我想在 JSF2 中创建一个自定义组件(一种改进 outputLink),是否可以在属性中使用自定义用户对象?

<my:cLink param="#{bean.userObject}" />

private MyUserClass userObject

你知道在 JSF2.0 中创建自定义组件的教程吗,我找到了http://www.exadel.com/web/portal/jsftutorial-customcomponents,但它是针对 JSF1.2 的。我看到一些注释似乎简化了业务。

谢谢。

【问题讨论】:

    标签: jsf-2 custom-component


    【解决方案1】:

    由于您已经使用 JSF 2.0,您确定要创建 custom component 而不是 composite component?无论哪种方式,您当然必须能够使用非标准类型作为属性值。在扩展UIComponent(或者更好的是UIComponentBase)的自定义组件中,可以使用继承的getAttributes()方法来获取它:

    Object param = getAttributes().get("param");
    

    自定义组件只有一个注解,@FacesComponent。它只是替换faces-config.xml 中的&lt;component&gt; 条目。对于剩余部分,JSF 1.2 和 2.0 之间没有大的区别,期待对部分状态保存的新支持。您可以安全地遵循针对自定义组件的 JSF 1.2 目标教程。

    【讨论】:

    • 为什么不使用Object param = getAttributes.get("param");getAttributesgetValueExpression 有什么区别?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 2016-05-10
    • 1970-01-01
    • 1970-01-01
    • 2012-06-20
    相关资源
    最近更新 更多