复合组件属性中的枚举值

时间:2011-10-26 12:28:18

标签: attributes jsf-2 composite-component

我的问题很简单:我想创建一个具有String属性Type。

的复合组件

<cc:attribute name="type" />  该属性将具有3个可接受的值,[TYPE1,TYPE2,TYPE3]

是否可以说我的组件只接受这些值?

1 个答案:

答案 0 :(得分:5)

不幸的是,不能对cc接口中的复合组件属性值进行编译/构建时限制。但是,您可以通过检查cc实现中的值来设置运行时限制。

<ui:param name="type" value="#{cc.attrs.type}" />
<ui:fragment rendered="#{type == 'TYPE1' or type == 'TYPE2' or type == 'TYPE3'}">
    <p>The type is TYPE1, TYPE2 or TYPE3.</p>
    <p>Write your component's body here.</p>
</ui:fragment>

那将是你最好的选择。