[Seasar-user:10650] [Teeda]「値の保持」と「値の受け渡し」の両立のコツを教えてください

橋本 昇 [E-MAIL ADDRESS DELETED]
2007年 9月 20日 (木) 18:23:48 JST


MLの皆様こんにちは。
橋本です。

Teedaを利用している皆様にアドバイスをいただきたく思い、質問させていただ
きました。

現在私は社内システム開発を通してTeedaの使い方の習得に励んでいるのです
が、答えが見えないテーマがあります。
Teedaを使った開発の際のページの「値の保持」と「値の受け渡し」の両立です。

ありがちなシチュエーションですが下記の答えが見えないのです。

検索画面(1画面)⇒1件選ぶ⇒編集画面(1〜n画面続く)⇒更新orキャンセル⇒
検索画面に戻る
という流れのサブアプリケーションがあるとします。
編集画面から元の検索画面に戻ったときに当時の検索条件を保持するにはどうす
るのが合理的か?


Teedaにはページ間の「値の受け渡し」を実現するためにいろいろな機能があり
ます。
しかし「値の保持」を効果的に実現するためのテクニックが思いつきません。
※話題としても少ないですよね

1.
私はメンテナンスの事を考えて、できるだけ次の画面に渡している値をはっきり
させたいと考えているので、TakeOverを積極的に利用したいと考えております。
デフォルトではforeachの為のプロパティまでもすべて次画面に渡されてしまう
のにちょっと抵抗があるのです。
※制御しているというより、結果的に動いているという感覚を感じるのは私だけ
でしょうか・・・
※そして他人のコードを読むのがつらいです・・・ヒントください・・・(^-^;;
ただし、TakeOverの機能は「次の画面に受け渡す値の調節」だけではなく「指定
したプロパティ以外をサブアプリケーションスコープからすべて破棄する」とい
う副作用があるため@SubapplicationScopeなどを「値の保持」の為に安心して利
用する事ができなくなります。

2.
@PageScopeは「値の受け渡し」を副作用なしで抑制できる貴重な手段の一つでは
ありますが、他のページに移動すると破棄されてしまう事と、
TakeOverを利用しても他のページに値を受け渡すことができない為、使い所が難
しいです。

3.
別ウインドウを利用すると、TakeOverとdoFinishの副作用をウインドウ単位で制
御できるのが良し。
※検索画面と編集画面を別ウインドウにするという事。
でも、必ず仕様として採用できる表現ではない所が難点。

4.
これらの方法だけでは「値の保持」と「値の受け渡し」の両立が難しい。
できるだけ「値の保持」と「値の受け渡し」が干渉しない方法はないものか・・・

5.
最後に行き着いたのがセッションです。
しかし、セッションを直接利用すると「サブアプリケーション単位でセッション
を管理してくれるフレームワーク」を利用しているはずなのに、自分でセッショ
ンを掃除する機能を作りこまなければならないという事が少し寂しいです。
※でも実現可能なところが良いところ。

6.
結果、しっくりくる方法が思いつかなくて落ち着かない。(^-^;;


コレが今の私の精一杯の頭の中です。
Teedaを利用している皆さんは、このテーマに対してどのような工夫をなさって
いますか?

ひょっとして難しく考えすぎなのかも知れません。
※青い鳥は以外に近くにいるのかも・・・?
「開発者のゆとり」を手に入れる為のアドバイスをよろしくお願いします。



最後に、ひょっとしてこのような話題はMLでは不適切ですか?
※具体的なトラブルシュートの話題のみ発言するべき?
他の話題と比べて浮いている感じがする内容なのでちょっと心配です。
※皆さんこのような話題はBlogでなさっているようですね
もし、不適切でしたらご指摘ください。
よろしくお願いします。



Seasar-user メーリングリストの案内