2012-12-13 45 views
0

我正在使用struts迭代器標記迭代列表,如下所示。如何在迭代使用struts 2迭代器後爲表中的元素設置唯一標識符?

<s:iterator var="listItem" value="userMasterActivityDTOList" status="userStatus"> 
<tr> 
    <td width="10%"><s:textfield name="regIns" value="%{#listItem.regIn}" /></td> 
    <td width="10%"><s:textfield name="regOuts" value="%{#listItem.regOut}" /></td> 
    <td width="10%"><s:textfield name="regDiffs" value=""/></td> 
     </tr> 
</s:iterator> 

迭代後,我想在JavaScript中的每一行計算regDiff.The事情regIns和regOuts文本框的值是,我無法設置唯一的ID的那些文本字段每一行中,這樣我可以識別它們在JavaScript中。

如何爲每個行元素設置唯一的ID?

回答

1

可以使用的迭代器的狀態indexcount屬性:

爲您的代碼:

<s:iterator var="listItem" value="userMasterActivityDTOList" status="userStatus"> 
<tr> 
    <td width="10%"><s:textfield name="regIns" id="in%{#userStatus.count}" value="%{#listItem.regIn}" /></td> 
    <td width="10%"><s:textfield name="regOuts" id="out%{#userStatus.count}" value="%{#listItem.regOut}" /></td> 
    <td width="10%"><s:textfield name="regDiffs" id="diff%{#userStatus.count}" value="" /></td> 
     </tr> 
</s:iterator> 

我希望我是形式上正確的,它是因爲我做了JSP已經有一段時間。

+0

非常感謝Ridcully.It工作正常。 –

0

使用Iterator的狀態COUNT或INDEX方法。

計數爲1,索引爲0。

請參考:http://struts.apache.org/2.3.4/struts2-core/apidocs/org/apache/struts2/views/jsp/IteratorStatus.html#getCount%28%29

<s:iterator var="listItem" value="userMasterActivityDTOList" 
      status="userStatus"> 
    <tr> 
     <td width="10%"> 
      <s:textfield name="regIns" 
        id="in_%{#userStatus.index}" value="%{#listItem.regIn}" /> 
     </td> 
     <td width="10%"> 
      <s:textfield name="regOuts" 
        id="out_%{#userStatus.index}" value="%{#listItem.regOut}" /> 
     </td> 
     <td width="10%"> 
      <s:textfield name="regDiffs" 
        id="diff_%{#userStatus.index}" value="" /> 
     </td> 
    </tr> 
    </s:iterator> 
+0

非常感謝Andrea.It工作正常 –

相關問題