- - PR -
Strutsの一覧表示
| 投稿者 | 投稿内容 | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-11-06 10:32
いつもお世話になっております。m(_ _)m
Strutsを使って一覧表示画面で複数のレコードデータを表示し、htmlのtextタグを1レコードづつある表示項目に埋め込みその値を取得する方法がありましたら教えて頂けないでしょうかm(_ _)m | ||||||||||||||||||||
|
投稿日時: 2003-11-06 14:21
ちょっと意図をつかみかねますが、
1)Strutsを使って一覧表示画面で複数のレコードデータを表示する方法 2)htmlのtextタグを1レコードづつある表示項目に埋め込む方法 3)その値を取得する方法 の三つの質問が含まれているように見えます。 実際にわからないのはどれでしょう? #恐らく 3) についてご質問されているのかと思いますが 1,2) は logic:iterate で行えます。 3)は ActionForm のプロパティを配列にすることで取得できます。 Struts のサンプルにもありますのでご覧ください。 見当違いでしたらもう少し具体的な要件をお聞かせいただければと思います。 [ メッセージ編集済み 編集者: インギ 編集日時 2003-11-06 14:22 ] | ||||||||||||||||||||
|
投稿日時: 2003-11-06 14:48
インギ様ご返答ありがとうございます。
やりたい事ですが仰るとおり最初の書き方ではわかりませんよね。。。 申し訳ございませんでしたm(_ _)m インギ様のレスを読み整理ができましたので改めて書きます。 Strutsを使って一覧表示画面で複数のレコードデータに htmlのtextタグを1レコードづつある表示項目に埋め込み その値を取得する際、配列ではなく1レコードつづを ActionFormで実装するにはどうすればよいのでしょうか? 親のActionFromがプロパティとしてLsitなどを実装し その中に1レコードのTextフィールドに対しての画面の入力値を格納する 子供のActionFromを格納すると言った方法を取りたいのですが Strutsで可能でしょうか? もし可能でしたらその方法をご教授くだされば幸いですm(_ _)m | ||||||||||||||||||||
|
投稿日時: 2003-11-06 15:37
つまりこういうことでしょうか。
としておき、「この"data"というListにはString型の値が入っている」。 この場合、StrutsのTaglibで以下のように表現できます。ただし、このHogeFormという 型のFormBeanのインスタンスが"hoge"という名前で参照できると仮定します。
もし、このListにString型ではなくて一般的なオブジェクト(HogeData)型の値が 入っているとすれば、
として
ってな感じです。 お探しのものはこのようなものでしょうか? | ||||||||||||||||||||
|
投稿日時: 2003-11-06 15:42
自己レスです。
もしかして、「ネストしたBeanの内容を表示」ではなく、「フォームの内容をネスト したBeanに格納」したいのでしょうか? だとすると、私も分かりません。そのようなことは出来ないのではないでしょうか。 | ||||||||||||||||||||
|
投稿日時: 2003-11-06 15:55
>フォームの内容をネストしたBeanに格納」したいのでしょうか?
はい、そうなんです。ネストしたBeanにフォームの内容を格納したいのです。 | ||||||||||||||||||||
|
投稿日時: 2003-11-08 11:28
たぶん、以下のようなコードで出来ると思います。
(以下はおばけさんのコードをもとにしています。) コード:--------------------------------------------------------------- public class HogeForm { private List data; public List getData(int iIndex) { while (this.data.size() <= iIndex) { this.data.add(new HogeDatum()); } return this.data.get(iIndex); } } public class HogeDatum { private String name; private String value; public String getName() { return this.name; } public String getValue() { return this.value; } } -------------------------------------------------------------------------------- とします。 JSP側では、 -------------------------------------------------------------------------------- <logic:iterate id="data" name="hoge" property="data" type="HogeDatum"> <html:text name="data" property="name" indexed="true"/> <html:text name="data" property="value" indexed="true"/> </logic:iterate> ------------------------ このように、「indexed」属性を利用します。 このとき、logic:iterate の idを「data」にするのがミソです。 indexed属性は慣れると便利ですが、わかりづらいので 使うかどうかは本人次第です。 [ メッセージ編集済み 編集者: bee 編集日時 2003-11-08 11:34 ] [ メッセージ編集済み 編集者: bee 編集日時 2003-11-08 11:34 ] | ||||||||||||||||||||
|
投稿日時: 2004-06-01 13:03
はじめまして。
上記コードですと JSP→HTMLでは <!--1Rec目 --> <HTML type="text" name="data[0].name" value="?" > <HTML type="text" name="data[0].value" value="?" > <!--2Rec目 --> <HTML type="text" name="data[1].name" value="?" > <HTML type="text" name="data[1].value" value="?" > ・・・・ となりますが、これをFormBeanに格納する為にセッターが必要かと思うのですが その部分のサンプルコーディングを教えていただけないでしょうか? よろしくお願いいたします。 | ||||||||||||||||||||
