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

时间:2012-11-05 08:38:01

标签: jsf richfaces

可以在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”名称。可能有其他方法可以做到这一点吗?

2 个答案:

答案 0 :(得分:2)

这是一个技巧(name的{​​{1}}属性可以是EL表达式):

ui:param

答案 1 :(得分: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);
}