S2JSF EA1

ついにでましたね。JSFを追っかけていた人にも追っかけてなかった人にも衝撃的なものじゃないでしょうか? とくにJSFを追っかけてなかった人には「こんなやり方があるんだー」というのはすごいでしょうね。

日記で断片をみるよりやはり動くコードとして見ていく方が実感がわくってのはやっぱりあるんですね。Mapleでも日記でいろいろ「こんな風にしたい/する」というコードの断片を書いてきましたが、動くサンプルコードでしめしたほうが何倍ものの効果があるなーと思った。(がんばってサンプルコード量産しなきゃ・・・)

S2JSFはノーマル(?)のJSFと比べてかなり使える人がひろがるなーと思う。極力HTMLをのこしつつ一部特殊なものをまぜるというやり方の方が、もともとのカスタムタグバリバリのJSF実装よりはかなりとっつきやすい。ずっとみてるとJSFもぜーんぶカスタムタグでやるぞといういさぎよさというか気持ちがわかってくるんだが、対象がHTMLなだけにそれを誰が作るのよ?となるので。(かなり優秀なツールが必要だが、そんなものはない・・・)

Seasarのコミュニティーのいいなーと思うところは周りがきちんと反応してますよね。それぞれの人の日記できちんと自分の思うところをいってる。id:koichikさんの日記には使ってみての素直な感想と提案が書かれてるし。

JSFを追っかけていたというのもあるが、「これはh:inputTextに当たるんだろうな」とか、「これはh:outputText相当だろうな」というように「こういうもんだ」という形でみてたんですが、「こっちの方がいんじゃない?」という見方でみるってのは必要ですね。

JSFの考え方はいたってシンプル(beanの属性をバインドするか、beanのメソッドをバインドするかの2つという感じ)なので、バインドする対象がHTMLの「属性」か「内容」かという違いではなくて、単純にbeanから値をとってきて何かにセットという形なのでS2JSFでもこんな感じになっていると思います。

<span>要素で囲って動的表示部分を指定するというのは、普通に書いているだけのテキストをどのように動的に変化させるのよ?というところでもともとのJSFでも「こうするしかないか」というもの(h:outputTextですね)になってます。なので、普通のテキストに対してbeanから値をとってくるのは<span>にb:valueで指定して(ダミーの文字も表示できるし)、タグの「属性」に対してbeanから値をとってくるのはそのタグ自体にb:valueでとなるんでしょうね。(JSFを下手に見てしまっていたのでものすごくしっくりくる・・・)

テーブル部分は悩ましいところだと思います。標準の h:dataTable を参考にするか、独自でつくるか?id:higayasuoさんとしては h:dataTable は参考にされていないようですので、この部分は検討の価値ありかもですね。<tbody>要素を使うというのはありだなーと思いました。

id:makotanさんが書かれているようにValidationがどうなるかですね。もともとのJSF実装ではHTMLにばりばりはいってきますからね。(おそらく今のS2JSFからするとかなり違和感があるんじゃないですかね・・・)

ほんと、今後楽しみです。S2JSF。コミュニティーとしての議論もふくめて。

追記 Convert/Validateはdiconファイルのmetaでやるってだいぶ前の日記に書いてありますね・・・読んでるのに、記憶に定着させてないのがもろわかり・・・