我正在尝试使用动态列数创建“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
有人帮我解决了这个问题吗?
答案 0 :(得分:2)
使用大括号#{bean[property]}
。它允许您使用变量而不是常量作为属性名称。
value="#{item[col.fieldName]}"