Shale Clay Plugin その7

だらだらと書いてきましたが,Clayはこの辺で終了したいと思います.
次回は,そろそろView Controllerに触れてみます.

そのうち,いくつかサンプルを挙げてみます.

さて,今回は振り返りということで.

今まで,HTMLのタグにjsfidを指定して,JSFコンポーネントを定義していきました.
HTMLのタグに,謎のJSFのタグの属性をつけてきました.

デザインとプログラムを切り分けるのならば,やはりHTMLにJSFの属性を入力していくのはどうなのだろうか?と,思うようにもなりました.プログラムを作る側(例えば私)は,HTMLテンプレートに属性をがしがし埋め込んで,なるべくならば,clay-config.xmlを書きたくないなぁと思いました.

Clayを「再利用性の高いViewフレームワーク」と言っている理由は,clay-config.xmlに定義した内容を
他のViewでも使いまわせるという所にあるのではないでしょうか?

実際,h:messagesなどは,どの画面にも同じ内容を埋め込むのならば,clay-config.xmlに定義しておいたほうがいいかもしれません.

clay-config.xml

<component jsfid="globalErrorMsg" extends="h:messages" allowBody="false">
    <attributes>
        <set name="globalOnly" value="false" />
        <set name="showDetail" value="true" />
    </attributes>
</component>

と,定義しておけば,HTMLもこのようにすっきりします.

<span jsfid="globalErrorMsg" style="color:red;">Error Message</span>

かろうじて,デザイナさんも納得してくれそうです.

複数の画面に同じような項目を表示するとしたら,それもまとめてclay-config.xmlに定義しておくと便利かもしれません.
JSFを使用したいと思うなら,確実にHTMLテンプレートを使用するのが楽ですよ.と,最後に感想を述べておきます.

しかし,Clayを調べてみて,あらためてS2JSFはよく考えられているな...と.