繰り返し処理の条件を付けるには、<logic:iterate>タグにoffset属性とlength属性を使用します。
例1)JSP内でスクリプトレットで生成した配列を出力する
<%@ page pageEncoding = "Shift_JIS" %> <%@ page contentType="text/html; charset=Shift_JIS" %> <%@ taglib uri="/tags/struts-logic" prefix="logic" %> <%@ taglib uri="/tags/struts-bean" prefix="bean" %> <html><body> <logic:iterate id="data" name="listData" offset="1" length="2"> <bean:write name="data" /> <br> </logic:iterate> <hr> </body></html> |
上記例では、index番号1から開始し、index番号2まで処理を繰り返します。
画面イメージ
コレクションのセッション格納処理抜粋(アクションクラス)
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { // Listデータをセッションに登録 List<String> list = new ArrayList<String>(); list.add("list1"); list.add("list2"); list.add("list3"); request.setAttribute("listData", list); return mapping.findForward("success"); } |