-ConverterとValidator
Tapestryはコンポーネントにパラメータがあって、利用時に以下のように書けます。
<input jwcid="@TextField" type="text" class="styleClass" value="ognl:stringProperty" hidden="ognl:booleanProperty"/>
この例に出した属性はすべて機能が違います。かつ、Tapestryのコンポーネント設定機能で用意されたすべての種類の属性を示しています。
- jwcid
- type
- class
- value
- hidden
- HTMLにはない属性です。
- TextFieldコンポーネントでは明示的に「Parameter」と定義しています。
- OGNL式が使えます。
- 描画時にはOGNL式にしたがって値が利用されます(描画をコントロールします)。
converter属性とvalidator属性を使って委譲オブジェクトをユーザー定義させるのはOK。しかし、その属性のコントロールは、テンプレートエンジンではなく、コンポーネントに置くべきです。そうであればコンポーネント実装者がConverterとValidatorだけでなく、LoggerとかLayoutManagerとかを設定できるし、色とか複合コントロールの構成とかもパラメータ化できます。