[Seasar-user:9954] Re: [teeda] 画面遷移に伴うxxxItemsプロパティの引継ぎについて

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2007年 8月 17日 (金) 09:56:09 JST


坂口です。

Teedaが想定している方法は理解しました。

追加で以下質問ご回答お願いいたします。 

>下記三つを理解しておけば、困ることはないと思います。
>
>Teedaのページクラスは、リクエストスコープなので、
>リクエストが終わればすべて消える。
>
>同一ページに戻るときには、hiddenや入力系のタグで
>状態を維持する必要がある。
>
>ボタンで別のページに移動する場合は、同一のプロパティは
>自動的に引き継がれる。

上記の3点ですが、アプリケーションの実際の動作として下記であると認識して問題ないでしょうか?

・htmlのinputタグに対応するプロパティが次画面のプロパティにあると、プロパティはサブアプリケーションスコープに格納される。
 但しプロパティ値がnullの場合はサブアプリケーションスコープに格納されない。
・htmlのinputタグに対応しないプロパティ(xxxItems等)は、自画面遷移時に全て初期化される。(hiddenを使用すれば、保持可能)
・htmlのinputタグに対応しないプロパティ(xxxItems等)を、次画面に引き継ぎたい場合、「hidden」 or 「doXxx()内でプロパティ値をnull以外」
  することでプロパティがサブアプリケーションスコープに格納される。

また別件ですが、xxxItemsSessionSaveはxxxItemsプロパティをHttpSessionに格納するので、
遷移前、遷移後画面によるxxxItemsの引継ぎによるサブアプリケーションスコープ使用とは異なるスコープと認識して宜しいのでしょうか?

ご回答お願い致します。

>ひがです。
>> 
>> 坂口と申します。
>> お世話になっております。
>> 
>> 題記、画面遷移時のItemsプロパティの引継ぎについて確認したく質問させていただ
きます。
>> 
>> 当方、画面遷移時のItemsプロパティの引継ぎとhtmlファイルのxxxItemsSaveの関係
を調査する為、
>> 以下のようなアプリケーションを作成しました。
>> 
>> ★画面
>> 1. 検索画面
>> 2. 検索結果画面(1.とは異なるHTMLを使用)
>> 
>> ★アプリケーションの作り
>> 検索画面で検索条件を設定し、対応するPageクラスにxxxItemsプロパティを用意し検
索結果を格納。
>> 検索結果画面に対応するPageクラスにもxxxItemsプロパティを用意しておく。
>> 検索画面ではxxxItemsプロパティ値の表示は行わず、検索結果画面で表示するように
する。
>> (検索画面、検索結果画面に同一検索条件プロパティを用意し、検索結果画面の
prerenderメソッドで
>>  xxxItemsプロパティ値をセットする処理も可能ですが、今回はxxxItemsプロパティ
を両画面で用意し使用する)
>> 
>> ★画面遷移方法
>> 画面遷移方法として、以下3つの方法を実施。
>> 画面遷移方法によってはxxxItemsプロパティの値を引き継げたり、引き継げなかった
りします。
>> 
>> 1. 『検索遷移ボタンを使用。(id="doxxx"のサブミットボタン、対応メソッドの戻り
値は検索結果画面)』
>>     検索遷移ボタン押下時に、検索遷移ボタンに対応するメソッド内でxxxItemsプロ
パティ値格納と検索結果画面への遷移を行う。
>>   ⇒ 検索結果画面でxxxItemsプロパティ値の表示可能。
>>      (検索結果画面のprerenderメソッド内でxxxItemsプロパティ値は検索画面
の値がセットされている)
>> 
>> 2. 『検索ボタン(id="doxxx"のサブミットボタン、対応メソッドの戻り値はnull)、
画面遷移ボタン(id="doxxx"のサブミットボタン、対応メソッドの戻り
値は検索結果画
面)を使用。』
>>   検索ボタン押下時、検索ボタンに対応するメソッド内でxxxItemsプロパティ値格
納。
>>   画面遷移ボタンを用意し、画面遷移ボタンで検索結果画面へ遷移。
>>   ⇒ 検索結果画面でxxxItemsプロパティ値の表示不可。
>>      (検索結果画面のprerenderメソッド内でxxxItemsプロパティ値は検索画面
の値がセットされてない)
>> 
>> 3. 『検索ボタン(id="doxxx"のサブミットボタン、対応メソッドの戻り値はnull)、
画面遷移リンク(id="doxxx"のリンク、遷移先は検索結果画面)を使用。』
>>   検索ボタン押下時、検索ボタンに対応するメソッド内でxxxItemsプロパティ値格
納。
>>   画面遷移リンクを用意し、リンク選択で検索結果画面へ遷移。
>>   ⇒ 検索結果確認画面でxxxItemsプロパティの表示不可。
>>      (検索結果画面のprerenderメソッド内でxxxItemsプロパティ値は検索画面
の値がセットされてない)
>> 
>> 以上のように、画面遷移方法が異なるとxxxItemsプロパティが引き継げたり、引き継
げなかったりするのですが、xxxItemsプロパティ値の引継ぎは
>> どのように行うのが正しいのでしょうか?
>
>なにが正しいかは一概に言えませんが、Teedaが想定している方法は、
>結果画面には、goXxxで遷移し、
>結果画面のinitialize()でxxxItemsを取得し、
>結果画面のhtmlでhiddenでxxxItemsSaveを使うことです。
>
>理由は、結果画面用の処理は、結果画面で行ったほうが良いからです。
>
>下記三つを理解しておけば、困ることはないと思います。
>
>Teedaのページクラスは、リクエストスコープなので、
>リクエストが終わればすべて消える。
>
>同一ページに戻るときには、hiddenや入力系のタグで
>状態を維持する必要がある。
>
>ボタンで別のページに移動する場合は、同一のプロパティは
>自動的に引き継がれる。
>
>--
>Yasuo Higa
>[E-MAIL ADDRESS DELETED]
>_______________________________________________
>Seasar-user mailing list
>[E-MAIL ADDRESS DELETED]
>https://ml.seasar.org/mailman/listinfo/seasar-user



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