△△もっとStrutsの良さを教えてくださいSession5 at TECH
[2ch|▼Menu]
474:466
07/11/09 02:51:27
>>472
いまやっている入力画面は(例ですが)、名前と年齢の欄があり、遷移元でDBからselectしてきてListにし、
ActionFormにセットし、jsp側で↓みたいに入力させています。
<logic:iterate id="person" name="MyForm" property="personList">
 <tr>
  <td><html:text name="person" property="name" indexed="true"/></td>
  <td><html:text name="person" property="age" indexed="true"/></td>
 </tr>
</logic:iterate>

なので ActionForm には Listのsetter/getter ぐらいしかないのですが、
これだと Struts が getPerson(int index) で Person オブジェクトをとってきて Person#setAge(Integer) する。

なるべく POJO を変更しないまま ActionForm にもってきたけど、
POJO のフィールドを Integerから変えない場合は、
ActionForm に age 等の setter/getter を用意して POJO へのラッパメソッドみたいにし、
このメソッドの中で String から Integer に変換するとか。

でも setter() のなかで NumberFormatException がでてしまうから、
ActionForm → Action に移るまでの間は、POJO は String型で保持するしかないのか・・・

(1)DB → ビジネスオブジェクト → Action の間でやり取りするPOJO(エンティティ)は、Struts の制約から離れられるけど、
(2)Action → ActionForm でやりとりするPOJOは、String ぐらいしか使えない。

エンティティ(DTO)は、(1)用と(2)用で2種類作らなければいけないってこと?
それとも Struts を使った時点で、エンティティはなんでもかんでも String と boolean ぐらいで保持すべきってこと?

>>473 さんが言っているのは、ここら辺の話ですよね。
URLリンク(hidek.jugem.cc)


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4420日前に更新/258 KB
担当:undef