- - PR -
struts使用時、requestオブジェクトに登録するJavaBeanについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-08-18 17:21
いつも参考にさせていただいています。
首記の件で皆様方の意見をお伺いしたいと考えておりますので、 是非、ご意見をお聞かせください。 現在、OSSのフレームワークを初めてまじめに勉強中です。 条件 (1)strutsでは、自動的にpost,get時のリクエストパラメータを、 JavaBeans(DynaBeanの際にはコレクション)に格納している。 (2)通常、サーバ側でデータを作成した後に、requestオブジェクトに、 オブジェクトを登録して返し、JSP側で参照する。 上記条件の場合、(1)で必要なpropertyと、(2)で必要なpropertyが分かれている為、 混同するのを嫌い現在、ActionForm(入力用)(実際にはDynaBean)のほかに、 勝手に、ViewBean(レスポンス用)のようなものを 作って開発していたのですが、皆様はどうされているのでしょうか? 開発標準というか、手法というか、規約の問題だとは思いますが、 皆様はすべてDynaFormに登録されているのでしょうか? 申し訳ございませんが、こういう理由で分けている、 こういう理由で、すべてActionFormに統一しているなどの意見を、 添えていただけるとありがたく存じ上げます。 しょうも無い質問かと思いますが、ご教示いただけますよお願い申し上げます。 以上 | ||||
|
投稿日時: 2005-08-18 17:59
Sessionに格納する必要のない表示系のデータはおっしゃるとおりRequestに格納するのがいい手法だと思います。
逆にリクエストをまたがって値を保持する必要のあるデータはActionFormに設定しておくのがいいと思います。 | ||||
|
投稿日時: 2005-08-18 22:58
私の経験上では入力用にActionForm、出力用にDTOを使用する形が一番 すっきりした構成を取れていました。 ActionFormの内容をActionクラスでDTOに変換後サービス層に渡し、 サービス層からの戻り値をDTOで受け取って、そのままsetAttributeす るといった感じです。 ActionFormの役割はリクエストパラメータを格納することなので、出力 用に使用するのは抵抗があります。StrutsはViewを切り離せる構成とな っていますが、View用にActionFormを使用していると変な部分で依存性 が残ってしまう結果にもなりますし。 ただ初期値をサービス層から取得しセットしておく必要のある編集用 フォーム等において、サーバサイドvalidationにひっかかった場合は View用のBeanを再セットしなければならないなどの欠点もありますね。 この時View用にActionFormを利用していた場合は、リクエストパラメ ータがActionFormにそのままセットされるので楽チンです。 まだまだ若輩者の意見ではありますが、ご参考になれば。 現在のプロジェクトでは開発基準が違う為、なかなかてこずっています^^; | ||||
|
投稿日時: 2005-08-19 01:27
るぱんです。
個人的には、 入力にActionForm 出力にArrayList+Beanのような組み合わせです。 理由は、 Viewでゴチャゴチャ余計な事をやらせないためです。 Strutsは有る意味なんでも出来てしまうので たいへん。 MVCの概念に直感的に近づけようとしたら上記のような結論に たどり着いた次第です。 | ||||
|
投稿日時: 2005-08-19 13:52
Anthyhime様、masa様、るぱん様ご回答ありがとうございました。
やはり処理結果は、ActionFormに含めない方を皆様選択されているんですね。 その形式としては、私もJavaBeans形式のみを使用しています。 皆様と同じ意見で安心しました。 基本的に、業務ではOSSを使用することがほとんど無いので、 周りにも相談できず迷っていました。 非常に助かりました。ありがとうございました。 一人だと愚痴もいえないので悶々としています(笑) 以上 |
1