[Seasar-user:1638] Re: S2JSF の m:rendered & m:action の動作について

fj-yasu@tgcc.tohoku-gakuin.ac.jp fj-yasu
2005年 3月 16日 (水) 20:41:38 JST


> ひがです。
> 
> > まつむらと申します。
> > 
> > S2JSFについて動きがおかしく見える部分があります。
> > 「日刊キム・バウワーちゃんねる。」2005年1月16日に出ている
> > 事と同様かと思いますが、
> > 
> > m:renderedに条件(例えば、m:rendered="#{hoge[i][j].hogeCd != null}")
> > などと書くと、アクション属性(例えば、m:action="#{hogeAction.execute}
")
> > と指定したアクションを実行しません。
> > ちなみに、m:renderedを固定(例えば、m:rendered="true")にすると
> > ちゃんと実行します。
> > 
> m:renderedがValueBindingされた結果falseになったら、
> そもそもタグが表示されないので、実行できないんじゃないかと思います。
> invokeタグということなら、invokeタグは廃止されています。

まつむらです。
早速のレスポンスありがとうございます。以下の現象ですが、どうでしょうか?


出力されたhtmlを見るとちゃんとaタグが出力されています。
でも、なぜかアクションは実行されません・・・。
以下、ソースと出力されたhtmlの対象部分です。

---こちらソースhtml---
<span m:inject="h:commandLink" m:action="#hogeHogeAction.next}" m:
rendered="#{hogeLink == true}">
    <span m:value="リンク文字列">
    </span>
</span>

---こちら出力html---
<a href="#" onclick="clear__5Fid137();document.forms['_id137'].
elements['_id137:_link_hidden_'].value='_id137:_id263';document.forms['_
id137'].submit();return false;" id="_id137:_id263">
    リンク文字列
</a>


ちなみに上のソースhtmlで、rendered="trueと書くとちゃんとhogeHogeAction
のnextメソッドを呼び出します。
出力されるhtmlを比較すると、うまく行く場合(直接true)と、行かないとき
(バリューバインディング)で全く一緒です。


どうぞ、よろしくお願いいたします。
(S2JSFはRC5です。)



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