1

struts 2 で変数をインクリメントすることは可能ですか? チェックボックスのグループがあり、各チェックボックスは異なるグループに属します。そして、グループIDとデータベースからの独自のIDに基づいてチェックボックスに名前を付けます

ここに画像の説明を入力

//namesHead : リストにはすべてのグループ ID と名前が含まれます

//subHead : リストにはすべてのサブグループ ID、名前、およびメイン グループの参照が含まれます

<s:iterator status="status" value="namesHead"> 
 <input type="checkbox" onclick="selectSimilarSubGroup('<s:property value="%{id}" />')" />Select All
 <s:set name="itrVar" value="1"></s:set>  
 <s:iterator  status="status1" value="subHead" >
   <s:set name="var1" value="%{refer_id}"></s:set>
   <s:set name="var2" value="%{id}"></s:set>
   <s:if test="%{#var1==#var2}">
     <s:set name="itrVar" value="%{#status1.count}"></s:set>  
     <input type="checkbox" multiple id="chk_grp<s:property value="%{id}"/>_<s:property value="%{#status1.count}" />" name="chk_grp" value="<s:property value="%{id_grp}"/>" /> 
     <s:property value="%{name_grp}"/>
   </s:if>
  </s:iterator>
  <s:hidden name="grp_count_%{id}" value="%{#itrVar}" />
</s:iterator>     

ここに画像の説明を入力 イテレータが2番目のループで初期カウントをスキップしているためだと思います。期待される出力を得るためにコードを変更するにはどうすればよいですか。または、ページ自体の中で変数をインクリメントする方法はありますか?

4

1 に答える 1

0

うーん...サブイテレータのステータスは、「2つの別々のリスト」または「別のリスト内のリスト」の両方で、親イテレータの反復ごとにリセットする必要があります...

カウンターが何かおかしい。<s:setデバッグのためだけに内の行を削除し、今<s:ifのところ を無視してみてください<s:hidden:

<s:iterator status="status" value="namesHead"> 
 <input type="checkbox" onclick="selectSimilarSubGroup('<s:property value="%{id}" />')" />Select All
 <s:set name="itrVar" value="1"></s:set>  
 <s:iterator  status="status1" value="subHead" >
   <s:set name="var1" value="%{refer_id}"></s:set>
   <s:set name="var2" value="%{id}"></s:set>
   <s:if test="%{#var1==#var2}">
     <!-- Nothing here -->
     <input type="checkbox" multiple id="chk_grp<s:property value="%{id}"/>_<s:property value="%{#status1.count}" />" name="chk_grp" value="<s:property value="%{id_grp}"/>" /> 
     <s:property value="%{name_grp}"/>
   </s:if>
  </s:iterator>
  <!-- Nothing here -->
</s:iterator>     

何が見えますか?

于 2012-10-29T09:28:51.160 に答える