我想在JSF2中创建一个自定义组件(一种改进的outputLink),是否可以在属性中使用自定义用户对象?
<my:cLink param="#{bean.userObject}" />
private MyUserClass userObject
您是否了解在JSF2.0中创建自定义组件的教程,我发现http://www.exadel.com/web/portal/jsftutorial-customcomponents但它适用于JSF1.2。我看到一些注释似乎可以简化业务。
谢谢你。
答案 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目标教程来定制组件。