- カウンター
- 大ベテラン
- 会議室デビュー日: 2004/02/19
- 投稿数: 123
|
投稿日時: 2008-02-27 21:30
DynaActionFormでArrayListのプロパティを定義します。
動的に作成したArrayListをDynaActionFormに渡して
JSPで表示するところまでは出来たのですが、
フォーム情報として受け取る方法がわかりません。
実際に下記のようなコードを書いております。
コード: |
|
■JSP
<logic:iterate id="datalist" name="data" property="test_cd" indexId="index">
<TR>
<TD>
<html:text name="datamap" property="AAAA" />
<html:text name="datamap" property="BBBB" />
</TD>
</TR>
</logic:iterate>
■アクションフォームBean
<form-bean name="AdmUpdReportForm" type="org.apache.struts.validator.DynaValidatorActionForm">
<form-property name="datalist" type="java.util.ArrayList" />
</form-bean>
■アクションクラス
public ActionForward updReport(ActionMapping mapping,ActionForm form,
HttpServletRequest request,HttpServletResponse response) throws Exception {
DynaActionForm dform = (DynaActionForm) form;
(ArrayList)dform.get("datamap") ←★ここで取得したい。
saveToken(request);
return mapping.findForward("success");
}
■結果
dform.get("datamap")={}
|
他の方法も試してみました。
コード: |
|
■JSP
<logic:iterate id="datalist" name="data" property="test_cd" indexId="index">
<TR>
<TD>
<html:text name="datamap" property="AAAA" indexed="true" />
<html:text name="datamap" property="BBBB" indexed="true" />
</TD>
</TR>
</logic:iterate>
■アクションフォームBean
同上
■アクションクラス
同上
■結果
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
|
どのようにすれば、DynaActionFormのArrayListをActionで取得できるのでしょうか?
|
- GENZO
- 大ベテラン
- 会議室デビュー日: 2003/11/26
- 投稿数: 111
- お住まい・勤務地: 名古屋
|
投稿日時: 2008-02-27 22:08
いきなり前提を崩してしまいますが。。。
ListではなくString[]でもよいということであれば、DynaActionForm#getStrings()を使ってはいかがでしょう?
|
- カウンター
- 大ベテラン
- 会議室デビュー日: 2004/02/19
- 投稿数: 123
|
投稿日時: 2008-02-27 22:23
GENZOさん
ArrayListでは無理なのでしょうか?
|
- Rey
- 会議室デビュー日: 2004/11/14
- 投稿数: 7
|
投稿日時: 2008-02-28 10:27
素朴な疑問ですが、
dform.get("datamap") ではなく
dform.get("datalist") では?
|
- カウンター
- 大ベテラン
- 会議室デビュー日: 2004/02/19
- 投稿数: 123
|
投稿日時: 2008-02-28 11:05
Reyさん
ごもっともなツッコミですが。
<datamap>であってるんです。。。
もともと、Mapで受け取ろうと思っていたんですが、
出来なかったのでArrayListに変更しました。
その際、name属性名を変更し忘れました。
|
- GENZO
- 大ベテラン
- 会議室デビュー日: 2003/11/26
- 投稿数: 111
- お住まい・勤務地: 名古屋
|
投稿日時: 2008-02-28 21:20
引用: |
|
カウンターさんの書き込み (2008-02-27 22:23) より:
ArrayListでは無理なのでしょうか?
|
ちょっと試した範囲でですが、ArrayListではうまくいきませんでした。
ただ、コレは私のわかる範疇のことですので、無理なのかはちょっとわかりません。
|
- カウンター
- 大ベテラン
- 会議室デビュー日: 2004/02/19
- 投稿数: 123
|
投稿日時: 2008-02-29 11:36
結局、納期というプレッシャーに負けて
DynaActionFormはやめて、ActionFormで対応しました。
ありがとうございました。
|