フレームワークの自動変換について
Strutsでよくあるローカルルールの「フォームのプロパティはすべてString」がくだらないと思っているので,入力値/出力値/内部の値の3つをまとめるにはやはりコンポーネント化するしかないのかなと.数値型を期待するフィールドをStringプロパティで持つことほど愚かなことはないと思う.
http://d.hatena.ne.jp/shin/20080713/p1
おいらはStringで持っても思うし、型変換してもよいと思います。
ただし変換するならCoreのフレームワークが自動でやらないほうがよいと思います。
自動でやってほしいならユーザがその意思(=T2ではアノテーション)を見せるか、もしくはその上に載るフレームワークが
やるほうがいいんじゃないかと思いますね。
これをSpring MVCかT2の上にかぶせようかなぁと.
ただし,カスタムタグによるHTML生成は大嫌いなのでJSTL+ELのみで動くように.つまりVelocityとやれることはかわらないが,JSPは各種ツールのサポートがいいのでこちらしか選択するつもりはないけど.実行しないと動作が確認できないのならもうJSFまでいっちゃったほうがいい.
http://d.hatena.ne.jp/shin/20080713/p1
一応言っておくと、T2ではテンプレートエンジンには全然関与しないので
かなり好きに出来ると思います。JSP/ZPT/Flexなどなどからお好きなのからどうぞ♪
アノテーションとは
アノテーションとはユーザの意思の表れ、または仕様を埋め込む技術だとT2では考えています。
なので、引数アノテーションをよく使うのはT2の特徴かもしれないですね。
たとえば以下のような感じ。POSTでボタン名がloginのボタンが押されたときに、
リクエストパラメータからuserとpassを抜き出して、引数でもらえます。
またはHttpServletRequestを受け取りたければ、それを引数で指定できますんで
お好きなほうをどーぞ♪
@POST @ActionParam public Navigation login(@RequestParam("user") String user, @RequestParam("pass") String pass) { //Validationをここに明記 if (!valid) { //エラー画面または元画面へ遷移 } else { //EmployeePageにマッピングされているURLへフォワード return Forward.to(EmployeePage.class); } }