- PR -

配列のデータを取得したい。(DynaActionForm)

1
投稿者投稿内容
オラ悟空
会議室デビュー日: 2004/02/18
投稿数: 2
投稿日時: 2004-02-18 21:35
初めて投稿します。
以前、
「配列のデータを取得したい。」
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7223&forum=12&4
という投稿がありましたが、その時はActionFormを使用した解決方法を紹介されていました。

現在、私も同じようなことで現在悩んでいます。
正直なところ、上記投稿の返信内容もよく理解できていないレベルなのですが、
これをDynaActionFormで実現できないでしょうか?

■実現したい機能■
1.DBより職員一覧(職員コード、名前、金額)を取得し、ListでJSPへ渡す。
2.金額を入力
3.一覧の情報を一括で更新する。

一覧を画面に表示するところまではできるのですが、
jspからActionへどのようにデータを渡し、どのように受け取ればいいのか分かりません。
唐突な内容で申し訳ありませんが、ご存知の方がいらっしゃいましたら是非ご教授下さい。
よろしくお願いします。

--- データを渡すActionBean
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {

// フォームBeanのキャスト
DynaActionForm df = (DynaActionForm)form;

List jList =
bean.getList(kubun,date);

df.set("list", jList);

}

getListの内容は、
List list = new ArratList();
-- SQLで情報取得 略 --
while(終了条件){
Syokuin sk = new Syokuin();
sk.setCode("取得したコード");
sk.setName("取得した名前");
sk.setKingaku(Integer.parseInt("取得した金額"));
list.add(sk);
}
return list;

--- JSP ---
<logic:iterate id="list" name="ListForm" property="list" indexId="index" scope="request">
<tr>
<td class='td_meisai'><bean:write name="list" property="code" /></td>
<td class='td_meisai'><bean:write name="list" property="name" /></td>
<td class='td_meisai'><html:text name="list" property="kingaku" maxlength="8" indexed="true"/></td>
</tr>
</logic:iterate>
オラ悟空
会議室デビュー日: 2004/02/18
投稿数: 2
投稿日時: 2004-02-19 16:54
解決しました。

JSP側を下記のように変更して、受取側で
Sring[] code = request.getParameterValues("code");
Sring[] name = request.getParameterValues("name");
Sring[] kingaku = request.getParameterValues("kingaku");
と記述するだけでした。
DynaActionFormで、という意味では達成できていませんが、
納期まで余裕がないのでこれでとりあえずの解決としました。

--- JSP ---
<logic:iterate id="list" name="ListForm" property="list" indexId="index" scope="request">
<tr>
<td class='td_meisai'><bean:write name="list" property="code" /></td>
<td class='td_meisai'><bean:write name="list" property="name" /></td>
<td class='td_meisai'><html:text name="list" property="kingaku" maxlength="8"/></td>
</tr>
<bean:hidden name="list" property="code" />
<bean:hidden name="list" property="name" />
</logic:iterate>
1

スキルアップ/キャリアアップ(JOB@IT)