menu
書いてる野郎
orebike@gmail.com
構造化されたパラメータの可変個数受け。 つまり、複数列の行が増減する表を更新するような状況
構造化されたパラメータを可変個数受ける場合はformを特殊な書き方にする。
class HogeHogeForm{ public String piyo; public List<Hoge> hogeList; public static class Hoge{ String age; String name; } }
のように 静的 な内部クラスを作ってそのリストの入れ物を作っておく。
この構造にSAStruts/JSPから値を送り込むときは
<input type="text" name="hogeList[0].age" value="" /> <input type="text" name="hogeList[1].age" value="" /> <input type="text" name="hogeList[2].age" value="" />
のように書けば自動的にマッピングしてくれる
逆にJSP側から引き出すときは
${hogehogeForm.hogeList[0].age} ${hogehogeForm.hogeList[1].age} ${hogehogeForm.hogeList[2].age}
のような感じでアクセスしたりできる
SAStruts/入力チェックのフォームをセッション管理する(リクエストを跨いで再利用したい場合)際にSerializableをくっつけるのだが・・・これを内部クラスのほうにもくっつけてやる必要がある
class HogeHogeForm implements Serializable{ private static final long serialVersionUID = 1L; public String piyo; public List<Hoge> hogeList; public static class Hoge implements Serializable{ private static final long serialVersionUID = 1L; String age; String name; } }