明示的は同意

http://d.hatena.ne.jp/shot6/20080713#1215954703

おいらはコンポーネントベースでこの変換をやろうということで,結果的にではありますが「必ず」明示的に変換します.上のエントリ風で言えば「@StringParam」「@IntegerParam」みたいなものを書いてそれぞれ「StringField」,「IntegerField」というコンポーネントを定義すればいい.このコンポーネントを用意することによってIntegerを期待するフィールドなのに文字列が入ってきた場合その文字列を取得することも出来るし,変換に失敗したのでNullを返すようにするとかまぁいろいろとできるわけです.

考え方としてはコンバータなるものを用意してテキストフィールドコンポーネントに関連付けをするJSF等と違い,型を持ったコンポーネントを直接生成したいという感じですね.たとえばIntegerTextFieldとか.表示は3桁カンマ区切りで,フォーカスがコンポーネントにきたら自動的にカンマが取り除かれるとかAccessのような手軽さを実装したい.ほかにはDateTextFieldとか.必要なフォーマットは限られているし,手軽にコンポーネントが作れるようになっているのならコンバータで苦労するよりはるかにいいと思う.

StrutsのアクションフォームがString以外を扱えるにもかかわらずStringのみという規約の問題はStringでいいのならサーブレットのRequestから直に取り出すのとなんいもかわらんじゃないかーってところだったりします.

まぁいろいろと考えてはいるのですが,今はメイン仕事とサブのお仕事があって忙しいので盆くらいからですかねぇ.いろいろと触り始めるのは.