[Seasar-user:9557] Re: [Teeda]Condition の動作についてSeasar-user:8216と同様?
中村 渉
[E-MAIL ADDRESS DELETED]
2007年 7月 30日 (月) 18:08:56 JST
大谷様
> ひとまずFacesMessageのSEVERITYでFATALとERRORの場合だけ
> RENDER_PHASEにPageScopeの中をクリアするようにします.
申し訳ありません、私が期待する動作は逆になります。
SEVERITYでFATALとERROR以外の場合にクリアして欲しいです。
一応、こちらのプロジェクトでも
SEVERITYによって制御を切り替えるようなコンポーネントを
Tconditionを継承して作成して、差し替えることで
期待した動作を確認する事ができました。
と書いている間にSNAPSHOTが出来てしまいました。
大変申しないです・・・
ちなみに、この対応の場合Conditionの利用に注意が必要ですが
ProcessValidationsでエラーになったかどうかは
メッセージ以外に判断が出来ないのでしょうか?
Shinpei Ohtani wrote:
> 大谷です.
>
>> おそらくTCondition#isRenderedの中で
>> FacesMessageのあるなしで、Conditionのboolean値の取得先を
>> ある場合:PageScopeのから取得
>> ない場合:PageScopeをクリアしてValueBindingから取得
>> と切り替えている為、
>>
>> こちらで問題が起きている画面のような
>> インフォーメーションメッセージを設定後、
>> 一覧表示の内容を更新する処理で
>> 前画面の状態が使われてしまっていると思われます。
>>
>> Validatorエラー時の表示も絡んでそうですが
>> どうしたらよいのでしょうか?
>>
>> メッセージを設定する場合は画面の表示を書き換えない
>> という対応は難しいので、御検討をお願いします。
>
> まずValidationエラー時にTCopnditionは前の状態に戻そうとします.
> それは仕様です.
>
> ひとまずFacesMessageのSEVERITYでFATALとERRORの場合だけ
> RENDER_PHASEにPageScopeの中をクリアするようにします.
>
> これでSNAPSHOTを作成するので試していただけるでしょうか.
> 宜しくお願いします.
>
>
> 07/07/27 に 中村 渉 <[E-MAIL ADDRESS DELETED]> さんは書きました:
>> 中村です、お世話になっております。
>>
>> TeedaのTrunkからSNAPSHOTを作成して
>> 試してみましたが、同様の現象が再現しています。
>>
>> おそらくTCondition#isRenderedの中で
>> FacesMessageのあるなしで、Conditionのboolean値の取得先を
>> ある場合:PageScopeのから取得
>> ない場合:PageScopeをクリアしてValueBindingから取得
>> と切り替えている為、
>>
>> こちらで問題が起きている画面のような
>> インフォーメーションメッセージを設定後、
>> 一覧表示の内容を更新する処理で
>> 前画面の状態が使われてしまっていると思われます。
>>
>> Validatorエラー時の表示も絡んでそうですが
>> どうしたらよいのでしょうか?
>>
>> メッセージを設定する場合は画面の表示を書き換えない
>> という対応は難しいので、御検討をお願いします。
>>
>> 以上、よろしくお願いします。
>>
>> Yasuo Higa wrote:
>>> ひがです。
>>>
>>>> 中村です。いつもお世話になっております。
>>>>
>>>> [Seasar-user:8216]に似た現象が
>>>> 私のプロジェクトでも発生してしまったのでご報告します。
>>>> 利用しているバージョンは1.0.8です。
>>>>
>>>> あるForEachの中でConditionを利用している画面で
>>>> ・ボタン押下処理(doXXX)
>>>> FacesMessageUtilでメッセージを設定
>>>> ・再描画処理(prerender)
>>>> Tableに表示する値を更新
>>>> という流れでテーブルの表示を切り替えた際に
>>>> 前の画面で表示していたPageScopeの値が利用されています。
>>>>
>>>> doXXXの処理の中でメッセージ設定をしなければ
>>>> 問題なく表示が行えます。
>>>>
>>>> TCondition#isRenderedにブレークポイントを設定した見たところ
>>>> メッセージを設定する場合と、しない場合で
>>>> PageScopeの値が更新されるタイミングが
>>>> 異なっているように思われます。
>>>>
>>> TConditionは最新のtrunkで修正が入っています。
>>> 今回、TConditionにデグレがあったためいつもの予定より
>>> 早めにリリースを計画しています。
>>>
>>> ご迷惑をおかけしますが、最新版で試していただけるでしょうか。
>>>> またついでの質問で申し訳ありませんが
>>>> この検証の為にTeedaを1.0.8にあげた際に
>>>> AjaxUtilのtoJsonメソッドが無くなった事が原因で
>>>> Ajax関連の機能が動かなくなってしましました。
>>>> 何か代替が用意されているのでしょうか?
>>>>
>>> JSONSerializerをお使いください。
>>> 同じパッケージにあります。
>>>
>>> よろしくお願いします。
>>>
>>> --
>>> Yasuo Higa
>>> [E-MAIL ADDRESS DELETED]
>>> _______________________________________________
>>> Seasar-user mailing list
>>> [E-MAIL ADDRESS DELETED]
>>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>> __________ NOD32 2424 (20070726) 情報 __________
>>>
>>> このメールはNOD32によって検査済みです。
>>> http://canon-sol.jp
>>>
>>>
>>>
>>
>> --
>> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>> ノハ// プロスパーク株式会社 中村 渉
>> // ノハ [E-MAIL ADDRESS DELETED]
>> // 竹橋オフィス
>> ハ// 〒101-0054 東京都千代田区神田錦町2-7 南部ビル6F
>> // TEL:03-6804-8680 FAX:03-6804-8681
>> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
>
>
>
Seasar-user メーリングリストの案内