1

我正在尝试制作具有动态列数的“丰富:dataTable”。我有一个带有列列表(具有属性 headerName 和 fieldName)和要在表中表示的项目列表的 bean,因此我有下一个代码:

<rich:dataTable id="data_table" value="#{bean.list}" var="item">

    <c:forEach items="#{bean.columnList}" var="col">

        <rich:column>
            <f:facet name="header">
                <h:outputText value="#{col['headerName']}" />
            </f:facet>
            <h:outputText value="??" />
        </rich:column>

    </c:forEach>

</rich:dataTable>

问题是我不知道如何把 value="??" 代表我想要的。我想要类似的东西:

value="#{item.#{col.fieldName}}"

但我不知道如何用正确的表达式语言来表示它。

我正在使用 JSF2.1 和 Richfaces 4.3.2

骗子有人帮我解决这个问题吗?

4

1 回答 1

2

使用大括号表示法#{bean[property]}。它允许您使用变量而不是常量作为属性名称。

value="#{item[col.fieldName]}"
于 2013-09-06T12:34:12.343 回答