- PR -

Beanの設計について (Struts+Velocity)

1
投稿者投稿内容
アゲハ
会議室デビュー日: 2004/03/24
投稿数: 3
投稿日時: 2004-03-24 14:15
はじめて投稿させて頂きます。アゲハと申します。
早速なんですが、Beansの設計に関して質問させて下さい。

現在Struts + Velocityで開発してるのですが、基本的に一つの画面(ロジック)で
一つのBeanを構成して、ビューを作っています。
例えば、登録画面であれば、下記のようなイメージです。
Actionで setAttribute("regist", regist); を施しています。

RegistAction.java (Logic) → RegistBean.java (Bean) → regist.vm (View)

仮にHTML上でselectボックスの要素があり、DBから取得したレコードを
表示する場合は、LinkedHashMapでRegistBeanに登録しようと考えてます。

(イメージ)
<select>
#foreach ($key in $registBean.monthList)
<option value="$key">$hogeBean.monthList.get($key)</option>
#end
</select>

<table>
#foreach ($key in $registBean.tableData)
<tr>
<td></td>
<td></td>
</tr>
#end
</table>

その下にテーブル(HTML)も付け加え、行の中身もレコードから取得、表示したいのですが、
今まで見てきたサンプルを見る限り、テーブル(HTML)にレコードを表示する場合は、
RegistTableBeanのようなBeanを作り、その中でカラムを登録しているようです。

ArrayList array = new ArrayList();
while (rs.next()) {
RegistTableBean rtb = new RegistTableBean();
rtb.setID(rs.getInt(1));
rtb.setName(rs.getString(2));
array.add(rtb);
}

このような場合、Beanは一つにまとめられないように思えるのですが、
そうした時の良い設計方法があれば教えて下さい。
よろしくお願いします。
Anthyhime
ぬし
会議室デビュー日: 2002/09/10
投稿数: 437
投稿日時: 2004-03-24 21:39
というかひとつ画面で一つのBeanしか使わないという設計思想に限界があります。
複数のBeanを使いましょう。
1

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