jsf ui:重复并使用行值作为id

时间:2010-11-02 07:13:10

标签: jsf richfaces

我有以下代码

            <ui:repeat value="#{monitorForm.customerList}" var="custRow">
                <h:outputText value="#{custRow.name}"/><br/>    

                <rich:dataTable id="tbl_#{custRow.id}" var="row" value="#{custRow.orderList}">
                   <!--  show sales orders -->
                </rich:dataTable>
            </ui:repeat>

每行生成的HTML是:

 <table cellspacing="0" cellpadding="0" border="0" id="monitorFrm:j_id392:0:tbl_" class="rich-table ">
      <colgroup span="0"></colgroup><tbody id="monitorFrm:j_id392:0:tbl_:tb"></tbody>
 </table>

在输出中,每行的表的id为空:id="monitorFrm:j_id392:0:tbl_"

有没有办法动态使用#{custRow.id}作为表的ID?

或者还有其他办法吗?

1 个答案:

答案 0 :(得分:1)

如果我理解,您需要通过Javascript ...

从客户端使用该表ID

如果是,也许您可​​以使用ui的varStatus:repeat而不是Id,并将该变量用作DIV元素的id:

<ui:repeat value="#{monitorForm.customerList}" var="custRow" varStatus="st">
            <h:outputText value="#{custRow.name}"/><br/>    

            <div id="#{st.index}">
                  <rich:dataTable var="row" value="#{custRow.orderList}">
                  </rich:dataTable>
            </div>

如果您需要从客户端访问,您可以致电DIV并让孩子......