Ticket #7772

[Seasar-user:3063]m:rendered使用時のActionが呼ばれない(再)
Eröffnet am: 2005-12-29 15:53 Letztes Update: 2006-01-20 22:43

Auswertung:
Verantwortlicher:
Typ:
Status:
Geschlossen
Komponente:
(Keine)
Meilenstein:
(Keine)
Priorität:
5 - Mittel
Schweregrad:
5 - Mittel
Lösung:
Keine
Datei:
Keine

Details

以前、[Seasar-user:2844] に投稿した、
<span m:rendered> で囲った中にあるアクションが
実行されない、という問題ですが、
その後なぜか発生しなくなったので放っておいたのですが、
本日発生しましたので、再現できるサンプルを添付します。
解凍後、s2jsf-examples の/WEB-INF/lib をコピーしてくださ
い。

 再現手順は、
 
http://localhost:8080/viewLogTest/viewlog/ViewLog.html
  ↓
 一覧から適当なファイル名をクリックする
  ↓
 ダウンロードリンクが表示される
  ↓
 ボタンを押す
  ↓
 アクション(m:action="#{viewLog.downloadLog}")が実行さ
れない

 となります。

 ViewLog.html の、27行めと、36行めに
<span m:rendered="#{viewLogForm.selectedLogFile !
= ''}" >
</span>
 があり、これらをコメントにすると、アクションが実行されま
す。

 また、test.dicon 内の、instanceDef を、
REQUEST → SESSION にすると、
<span m:rendered= で囲まれている場合でも、アクションが実
行されます。

 とりあえず、SESSION で逃げますが。

Ticket-Verlauf (3/4 Historien)

2005-12-29 15:58 Aktualisiert von: yone098
  • Summary Updated
2006-01-12 01:13 Aktualisiert von: manhole
  • Verantwortlicher Update from (Keine) to yone098
2006-01-15 00:33 Aktualisiert von: yone098
Kommentar
Logged In: YES
user_id=16111

m:rendered="#{1==1}" だと正常動作する為、単純に
m:rendered使用時のActionが呼ばれない(再)
には直接結びつかないと思われます。
評価対象のviewLogFormのインスタンスにより、イベントがキュー
イングされていないようなので、もう少し調査を継続します。
2006-01-20 22:43 Aktualisiert von: yone098
  • Ticket Close date is changed to 2006-01-20 22:43
  • Status Update from Offen to Geschlossen
Kommentar
Logged In: YES
user_id=16111

下記現象のため、closeします。manholeさんどうもですm(__)m

ボタン押下時にActionが実行されないのは、押下のタイミングでは
27行目のrenderedがfalseと評価されるためです。

- viewLogFormはREQUESTスコープにあるので、ボタン表示時と押下
時でインスタンスが異なります。押下時にはselectedLogFile属
性は初期値""になっています。
結果、押下時にはspanのrenderedはfalseになります。
- renderedがfalseのUIComponent配下は、encodeがスキップされま
す。
- ボタンのencodeがスキップされるため、Actionが実行されません。

ということが起こっています。

Dateianhangliste

Keine Anhänge

Bearbeiten

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Anmelden