-最重要属性inject
さて、ひがさんのコメントで霧が晴れたので仕様変更。たしかにMayaでこれまでid属性に割り当てた機能は、識別子ではなく、インジェクションの機能です。これまではこういう書き方でした。
1)これまでのやりかた: <span id="firstName@c:out">出力</span> <span id="#remove">削除</span>
このidには、識別子(firstName)+プレフィックス(c)+コンポーネントタイプ(out)が入ってます。これを識別子は識別子として、その他のインジェクション情報とわけると、
2)あたらしい案: <span id="firstName" inject="c:out">出力</span> <span inject="#remove">削除</span>
3)さらにinjectを細かくやると: <span id="firstName" prefix="c" component="out">出力</span>
うーん、手間と意味のバランス考えると、真ん中のinject属性採用案かな。プリプロセッサ的には一番最後が明瞭なのでしょうが。
で、injectの例で話をすすめます。
テンプレート: <span id="firstName">出力</span>
バインディング情報を外だしした設定XML: <component id="firstName" inject="c:out"/>
となります。
ちなみに、万一、injectという名前の属性をもったJSPコンポーネントがあったとしたら、設定XMLを使ってください。
<component id="firstName" inject="x:hasInjectParamComp"> <binding name="inject" value="#{model.value}"/> </component>
というところで、例を書いているうちにparameterの属性を書くのが面倒になってきました。type属性は省略するとjava.lang.String、evalは省略するとコンポーネントがあらかじめ設定されている(JSFのcoreとhtmlを予定)ライブラリ所属だと、false、そうでないとtrueを設定することにします。