3

是否可以在richfaces数据表中定义标签“var”的动态值?

我有一个内部包含丰富数据表的组件,我想使用自定义的“var”名称。

我这样做

零件:

<rich:extendedDataTable id="#{id}_list" cellspacing="0" rows="#{rows}" var="#{itemName}"
                            value="#{data}">

页:

<wh:list id="f" data="#{deviceListBean.data}" rows="20" itemName="item">

但我得到这样的例外:

javax.servlet.ServletException: var cannot be EL-expression
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)

我希望能够使用自定义“var”名称。可能有其他方法可以做到这一点?

4

2 回答 2

2

这是一个技巧(name属性ui:param可以是 EL 表达式):

<ui:param name="#{itemName}" value="#{item}"/>
<rich:extendedDataTable var="item" value="#{data}">
于 2012-11-08T20:56:44.017 回答
0

var是您用来引用数据表中循环的每个项目的名称。

你会做类似的事情

<rich:extendedDataTable id="#{id}_list" cellspacing="0" rows="#{rows}" var="_dataItem"
                        value="#{data}">

并且在数据表里面,可以_dataItem用来引用当前值

<rich:column>
  <h:outputLabel value="#{_itemData.myValue}"/>
</rich:column>

把它想象成定义以下for

for(Item _dataItem : data) {
   System.out.println(_dataItem.myValue);
}
于 2012-11-05T08:40:47.433 回答