[Seasar-user:8215] [Teeda]PostBackUtil.isPostBackの使用について

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2007年 6月 11日 (月) 10:18:21 JST


お世話になります。田口です。

Teedaでの初期処理を、JSPを使用する関係上、
Teeda Extensionを使用せず、
PhaseListenerを使って、処理しようとしております。

その際に、initialize,prerennderの判定において
PostbackUtil.isPostBackメソッドを使用を検討していますが、
画面遷移時にinitializeメソッドが実行されません。

具体的には、PhaseListenerで、
JSFライフサイクルのRENDER_RESPONSE時の
beforePhase処理において、
下記のような判定ロジックを記載していますが、
PostbackUtil.isPostback(requestMap)がfalseにならないため、
initializeメソッドが動いていない状態です。

ExternalContext externalContext = context.getExternalContext();
Map<String, String> requestMap = externalContext.getRequestMap();

// フェーズIDがRENDER_RESPONSEの場合
if (phaseId == PhaseId.RENDER_RESPONSE) {

    // 同一画面表示の場合は、INITIALIZE_METHODはinvokeしない
    if (!(PostbackUtil.isPostback(requestMap))) {
    	// initializeを実行
        invoke(context,viewId,INITIALIZE_METHOD);
    }

非JSF画面からの画面遷移時には、うまく動作していますが、
JSF画面からJSF画面の遷移時には、initializeが動いていない状態です。

そもそもの使用方法が間違っているのでしょうか?
処理方法について、ご教示ください。
よろしくお願いいたします。



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