- - PR -
DynaActionFormで定義したArrayList項目の取得
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-12-12 15:35
現在、struts1.1を使っています。
一つ問題があり困っています。 以下のスレを参考にさせて頂きましたが、うまくいきませんでした。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7223&forum=12&4 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=9471&forum=12 DynaActionFormで定義したArrayListの項目にデータを格納し、表示までは できているのですが、その検索結果をアクション側で取得できないことです。 流れとしては、 マネージャ登録画面表示 ⇒ 検索ボタン押下 ⇒ アクション(データ取得) ⇒ 検索結果表示 ⇒ 登録ボタン押下 ⇒ アクション(ここで検索結果を取得したい:下記★印の部分が分からない。) 以上、長々と書いてしまいましたが、宜しくお願いします。 ■struts-config.xml <struts-config> <!-- アクションフォームBean定義 --> <form-beans> <form-bean name="dfManagerTorokForm" type="org.apache.struts.action.DynaActionForm"> <form-property name="commandId" type="java.lang.String" initial="" /> <form-property name="shainId" type="java.lang.String" initial="" /> <form-property name="userList" type="java.util.ArrayList" /> </form-bean> </form-beans> <!-- アクションフォームBeanとアクションクラスのマッピング定義 --> <action-mappings> <action path ="/managerTorok" type ="action.ManagerTorokAction" name ="dfManagerTorokForm" scope ="request" input ="/ManagerTorok.jsp" validate="true"> <forward name="jspManagerTorok" path="/jsp/ManagerTorok.jsp"/> </action> </action-mappings> </struts-config> ■アクション public class ManagerTorokAction extends Action implements MemberSml { public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse res ) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException { // 移動先画面結果 String nextPage = ""; // メニュー情報の取得 DynaActionForm dfManagerTorokForm = (DynaActionForm)form; String commandId = ClassSml.EncodeUtf8((String)dfManagerTorokForm.get("commandId")); String shainId = ClassSml.EncodeUtf8((String)dfManagerTorokForm.get("shainId")); // データ結果オブジェクト作成 ArrayList resultList = new ArrayList(); // ユーザ情報設定 UtilDba utilDba = new UtilDba(); utilDba.UsersInfoGet(shainId, FLG_OFF); resultList = utilDba.getResultList(); // 検索押下 if(commandId.equals(BTN_SHAIN_SEARCH)) { dfManagerTorokForm.set("userList", resultList); nextPage = JSP_MANAGER_TOROK; } // マネージャ登録押下 if(commandId.equals(BTN_MANAGER_TOROK)) { ArrayList torokList = new ArrayList(); torokList = (ArrayList)dfManagerTorokForm.get("userList"); ← ★★★ こんな感じで取得したい。★★★ : nextPage = JSP_MANAGER_TOROK; } return(mapping.findForward(nextPage)); } } ■ManagerTorok.jsp <html:html> <head> <title>マネージャ登録画面</title> </head> <body><center> <html:form method="post" action="/managerTorok"> <html:hidden property="commandId"/> <font size="+1"><B>【マネージャ登録画面】</B></font><br> 社員ID:<html:text property="shainId" maxlength="10" size="9"/> <!-- 検索ボタン --> <html:button property="btnShainSearch" value="検 索" onclick="shainSearchBtnClick('btnShainSearch')"/><br><br> <!-- 検索結果 --> <logic:notEmpty name="dfManagerTorokForm" property="userList"> <table border="1"> <tr> <td> 社員ID </td> <td> 社員名 </td> <td> 役 職 </td> </tr> <logic:iterate id="userList" name="dfManagerTorokForm" property="userList" indexId="index" scope="request"> <tr> <td><bean:write name="userList" property="shainId"/></td> <td><bean:write name="userList" property="shainMe"/></td> <td><bean:write name="userList" property="yakshok"/></td> </tr> </logic:iterate> </table><br><br> </logic:notEmpty> <!-- マネージャ更新ボタン --> <html:button property="btnManagerTorok" value="登 録" onclick="managerUpdateBtnClick('btnManagerTorok')"/> </html:form></center></center></body> </html:html> |
1