[Seasar-user:6690] Re: コマンドボタン・リンクのRenered + Acrion指定の動作確認
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2007年 3月 14日 (水) 19:37:11 JST
米林です。
From: <[E-MAIL ADDRESS DELETED]>
Sent: Wednesday, March 14, 2007 7:23 PM
>
> 松原です。
>
> ご返信、有難うございます。
> ご質問の回答です。
> ・>ちなみに、Teeda Extensionを使用したHTMLベースでしょうか?
> ・>それとも、Teeda CoreだけのJSPでしょうか?
> ⇒ Teeda CoreだけのJSPです
>
> ・>具体的なページの情報も教えて頂けますか?
> ⇒ コマンドボタンの記述箇所を抜粋します
> <TD valign="bottom" align="right">
> <h:commandButton id="FixBtn1" value="登録"
rendered="#{xxx_xxXxPage.renderedFlg == 'regit'}"
action="#{xxx_xxXxPage.doRegit}" onclick="isFunc_RegitKakunin();" />
> <h:commandButton id="FixBtn2" value="登録"
rendered="#{xxx_xxXxPage.renderedFlg == 'edit'}"
action="#{xxx_xxXxPage.doEdit}" onclick="isFunc_EditKakunin();" />
> <h:commandButton id="FixBtn3" value="削除"
rendered="#{xxx_xxXxPage.renderedFlg == 'delete'}"
action="#{xxx_xxXxPage.doDelete}" onclick="isFunc_DeleteKakunin();" />
> </TD>
>
> 見づらくて、申し訳ございませんが
> 宜しくお願い致します。
これは、renderedの評価対象のxxx_xxXxPageが
RequestScopeであることが原因だと思います。
レンダリングされる際のxxx_xxXxPageと
ボタンを押した際のxxx_xxXxPageのインスタンスが異なる為
(RequestScopeはリクエストの度にインスタンスが生成されます)
ボタンを押したリクエスト時は、xxx_xxXxPage.renderedFlgが
初期値のfalseになっていると予想されます。
解決するには、renderedの評価対象をSessionScopeにするか
もしくはhiddenを使って、renderedFlgを異なるリクエストで
引き継ぐかするしかないと思います。
JSFで画面に表示されているボタンは実行されると思い
結構はまることがあります。
よろしくお願いします。
---
米林 正明
[E-MAIL ADDRESS DELETED]
Seasar-user メーリングリストの案内