自定义组件用户对象值

时间:2011-03-10 20:06:06

标签: jsf-2 custom-component

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

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

private MyUserClass userObject

您是否了解在JSF2.0中创建自定义组件的教程,我发现http://www.exadel.com/web/portal/jsftutorial-customcomponents但它适用于JSF1.2。我看到一些注释似乎可以简化业务。

谢谢你。

1 个答案:

答案 0 :(得分:2)

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

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

自定义组件只有一个注释@FacesComponent。它只是<component>faces-config.xml条目的替代品。对于剩余部分,JSF 1.2和2.0之间没有太大的区别,期望对部分状态保存的新支持。您可以安全地按照JSF 1.2目标教程来定制组件。