JSF UI: повторить и использовать значение строки в качестве идентификатора - PullRequest
1 голос
/ 02 ноября 2010

У меня есть следующий код

            <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="monitorFrm:j_id392:0:tbl_"

Есть ли способ динамически использовать #{custRow.id} в качестве идентификатора для таблицы?

Или есть другой способ сделать это?

1 Ответ

1 голос
/ 02 ноября 2010

Если я понимаю, вам нужно использовать этот идентификатор таблицы со стороны клиента с помощью Javascript ...

Если да, может быть, вы могли бы использовать varStatus из ui: repeat вместо Id и использовать этопеременная как идентификатор элемента DIV:

<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 и получить дочерний элемент ...

...