S2JSFのbinding
ひがさんがViewとJavaのbindingを考え中らしいので、俺も勝手にちょっと考えてみた。
JSFをさわったことはないので論点ずれてるかもしれないけど。
前提としては、
・ViewはHTMLで、デザイナが好きなツールで作る。
・JavaはDTOとActionで、どちらもPOJOで作る。
というところ。
HTMLに関連付ける必要があるのは、
1.DTOのデータ
2.Actionのメソッド
3.利用するUIComponentとそれに与える情報
ぐらい。(ループとかロジックを使うときはみんなUIComponentってことでいいのかな?)
1と2は特定の属性(idなど)の値にOGNLのような式を書ければよさそう。
(ただ属性に使うのは、既存のにするか新しいのにするかは迷うところ…)
3がちょっと厄介で、UIComponentのidとその他に複数の付加情報が必要になる。
HTMLをシンプルにするために、できれば1、2と同じ属性1つだけにしたいのでここに何か工夫が必要だと思う。
案A.diconファイルのComponentに関連付ける ・HTMLとdiconファイルは、1:1にする。 ・HTMLのタグとComponentは、1:1にする。 ・タグの特定の属性にComponentを特定する式を記述する。 ・UIComponentの情報は、Component定義内に記述する。 ・Component定義のために汎用クラスかintercepterかmetaタグが必要??
案B.ViewHelperクラスのメソッドに関連付ける ・HTMLとViewHelperは1:1にする ・HTMLのタグとViewHelperのメソッドは、1:1にする。 ・ViewHelperはdiconファイルにComponentとして登録する。 ・タグの特定の属性にViewHelperのメソッドを特定する式を記述する。 ・UIComponentの情報は定数Annotationかmetaタグに記述する??
う〜ん。中途半端だけどこれ以上思いつかない。
ひがさんはどんなのを考えてるんだろう。