Spring Tag

Spring FrameworkのViewのコードを見ると、フレームワーク専用のタグライブラリの少なさに驚かされます。実際、サンプルコードのJSPのほとんどがJSTLで書かれています。そこにはWebWorkのようなセクシーさはありませんが、無駄のない洗練された美しさがあります。

The Spring Framework does not aim to provide a full-fledged set of tags, useful for all kinds of purposes. The tags the Spring Framework provides are just tags to make the Spring Framework work with Java Server Pages technology.

Spring専用のタグで使われているものはが大半です。このbindというタグは文字列->モデルのデータ型変換とValidationの両方をサポートします。bindタグではJavaBeanで記述されたモデルのプロパティ名を指定します。Validationはフォームではなく、モデルに対して記述します。SpringにはStrutsのフォームに相当するものは存在しないのです。

bindタグをフレームワーク内部でサポートするのがDataBinderというクラスです。これはBeanWrapperImplと関連づけられていますので、カスタムPropertyEditorを設定すれば、任意のシンタクスの文字列からモデルのプロパティ型へ変換できます。Spring Frameworkの美しさはDAOのコンフィギュレーションからViewに至るまで同じJavaBeansをベースとしているところから来ています。