Ticket #7840

[Seasar-user:3083]f:paramで最新の値が評価されない
Eröffnet am: 2006-01-12 01:11 Letztes Update: 2006-01-21 01:27

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

Details

<span m:inject="f:param" m:name="xxx" m:value="#{yyy}"/>

を使ってページタイトル等の埋め込みを行なうとき、xxxに最
新の#{yyy}の内容
が反映されないという現象が発生します。

[再現方法]

S2JSF Example 1.0.12 の foreach2/forEach2List.html において

8行目: <span m:inject="f:param" name="layoutTitle"
m:value="ForEach2"/>
"ForEach2" -> "#{forEach2DtoList[0].input}"

と変更し、ページにアクセスします。

1つ目のテキストボックスの値を変更して"update"ボタンをク
リックすると、
ページのタイトルの更新が遅れる様子を確認できます。

Ticket-Verlauf (3/3 Historien)

2006-01-12 01:11 Aktualisiert von: manhole
  • Verantwortlicher Update from (Keine) to manhole
2006-01-12 21:46 Aktualisiert von: manhole
  • Ticket Close date is changed to 2006-01-12 21:46
  • Status Update from Offen to Geschlossen
Kommentar
Logged In: YES
user_id=10369

S2JSFを修正しました。
次バージョンから反映されます。

----

■原因

f:paramでは、
(1) m:valueの値をrequestへ保存する
(2) htmlでrequestから値を取得する
というロジックになっています。

今までは(1)の処理をlifecycleの先頭(RESTORE_VIEWフェーズより
前)で行っていました。
この時点では画面入力値がDTOへ反映されていないため、前画面の
値がrequestへ保存され、(2)で画面へ表示されていました。

■修正内容

(1)の処理をRENDER_RESPONSEフェーズの直前で行うようにしました
2006-01-21 01:27 Aktualisiert von: manhole
  • Ticket Close date is changed to 2006-01-21 01:27
Kommentar
Logged In: YES
user_id=10369

「html 要素の m:action 属性で指定された初期化アクションの実
行によってf:param の参照する内容が変更される場合」
の対応が抜けているとのご指摘。[Seasar-user:3102]

この修正も1.0.12の次バージョンから反映されます。

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