谷本 心 in せろ部屋

はてなダイアリーから引っ越してきました

S2JSFでWebParts その10

forEach + insertの組み合わせで、
insertのm:srcに式言語を使えない問題について。
S2のMLには投稿したんだけど、その原因が、だいたい分かった。


平たく言うと、
forEachタグがレンダリングされる(繰り返し処理が行なわれる)より前に、insertタグが解釈されるから。
forEachタグって、Collection(m:items)の要素を1つずつrequestに格納しながら
子要素をレンダリングしてるんだけど、そもそも、insertタグのm:srcが解釈されるのは、その前なのよね。
だから、m:srcにはforEachが処理する値を入れられない。


S2JSF側で対策を取るとしたら、

  1. insertタグの解釈のタイミングを遅らせる(processメソッド相当の処理をレンダリング時に行なう)
  2. forEachの繰り返し処理のタイミングを早める(processのタイミングで繰り返し処理を行なう)

になるかと思うけど、ちょっと既存システムに影響出そうな変更になりそう、、、。


そういや、JSF(JSP)のincludeって、どうしてるんだっけ、
と思って調べてみたら、式言語には非対応だった (^^;;


うーん、動的にinsert/includeする事自体、無茶な希望なのかなと思い始めてきた。
自前でdynamicInsertタグなんかを作るべきか?