EL表达式中的双引用

时间:2013-09-06 11:26:09

标签: jsf-2 richfaces facelets el

我正在尝试使用动态列数创建“rich:dataTable”。我有一个带有List列的bean(带有属性headerName和fieldName)以及要在表中表示的项列表,所以我有下一个代码:

<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="#{item.#{col.fieldName}}"

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

我正在使用JSF2.1和Richfaces 4.3.2

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

1 个答案:

答案 0 :(得分:2)

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

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