JSF 2.0中数据表中同一列中的不同组件

时间:2012-08-19 05:13:15

标签: java jsf

使用JSF 2.0可以在数据表的单个列中使用不同类型的组件吗?

我的要求是,根据label列值,value列会相应地显示输入文字或选择列表。

目前我正试图通过支持bean来做到这一点。我在label中有valuetype of componentarraylist(例如“选择列表”)。

当我在数据表中迭代此列表时,如何检查类型并根据结果创建输入或选择列表?

1 个答案:

答案 0 :(得分:3)

rendered属性与测试结合使用,该测试使用您用来区分输入和选择列表的任何内容。

E.g。

<h:dataTable value="#{yourBacking.yourList} var="item">
    <h:column>
        <h:inputText value="#{item.value}" rendered="#{item.type == 'input'}" />
        <h:selectOneMenu value="#{item.value}" rendered="#{item.type == 'selectlist'}">
            <f:selectItems value="#{item.values}" />
        </h:selectOneMenu>
    </h:column>
</h:dataTable>