attributes - 复合组件属性中的枚举值

标签 attributes jsf-2 composite-component

我的问题很简单:我想创建一个具有字符串属性 Type 的复合组件。
<cc:attribute name="type" /> 该属性将有 3 个可接受的值,[TYPE1, TYPE2, TYPE3]

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

最佳答案

不幸的是,您不能在 cc 接口(interface)中对复合组件属性值施加编译/构建时间限制。但是,您可以通过检查 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>

那将是你最好的选择。

关于attributes - 复合组件属性中的枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7902547/

相关文章:

jsf - 引用复合组件内部的组件(反之亦然)

ajax - 使用 EL 表达式将组件 ID 传递给 JSF 中的复合组件

attributes - Magento2:添加产品属性作为媒体图像

xpath - 无法使用 xpath 访问属性值

deployment - 部署 JSF 2.0 项目所需的最低服务器是什么?

java - JSF 欢迎文件未正确重定向

jsf-2 - 复合组件真的需要命名容器接口(interface)吗?

java - 如何设置 RTC 工作项的 "Found In"属性值?

c# - 通过反射检查时缺少 NotNullAttribute

java - 从 Facelets 1.x 迁移到 Facelets 2.0