つらい一週間

Strutsにとってはちょっとつらい一週間だったねー。特に後半。
Strutsについて書いてる日記のリンクをつけようかと思ったけど、「Struts」ってキーワードで十分かなー。

Strutsを知ったのは4年前か5年前のJavaWorldだったなー。特集してた。その前の号とかでMVCとかについても取り上げてたような気がするなー。

変な話だけど、ちょっと昔まで入力フォームのエラーが表示されたときに入力した内容が消えてるってこととかエラー画面を表示後JavaScriptのHistoryBackで戻ることによって入力した内容を維持する(fileとかあると有効期限切れになったり)とか、結構いい加減だったような気がする。実際、自分が最初のころに作ったやつはHistoryBack使ってたし。。。そんなときにStrutsを見たんだろーなー。だからActionクラスでもActionServletでもなくValidatorFormに感動したんだと思う。今でもWeb系のフレームワークならValidationをしっかりサポートしてくれてるのが一番だと思う。

他の日記にもstruts-config.xmlが大きくなりすぎるのが欠点だーって書いてあるけど、その通りだと思う。すべてが柔軟にしたいわけじゃないし。だけど、ワイルドカードによる設定ができるようになってからは少しは良い方向にいったのかなー。あんまり使ったことがないからわからない。struts-config.xml以外の欠点をあげろーって言われたら、一つのフォームに複数のボタンがあったときの実装方法かな。このボタンを押したときはValidationしてこのボタンのときはValidationはしないとかってやつも込みで。ForwardAction(だったっけ?よくおぼえていない)でそれぞれ個別のAction(executeのみを実装した単純なAction)を呼び出したりしてたけど、少しずつややこしくなってくるんだよねー。Actionって言えば、JSPに表示する内容を集めるActionとか作ってしまったりしてActionがChainするのが当たり前になってきて気がつくとよくわからんくなってきたり。
シンプルにすればいいのになんか気がつくとややこしくしてしまっていたなーって思う。だいたい似た内容のActionFormとかをみると1つにしたくなったり、似てるActionの処理内容をまとめたくなったりするけど、ここは割り切って似てるものでも画面が違えば違うものとして(たぶん本当は違うものだから)あつかえばよかったんだろうなー。LoginFormを作るとUserFormの一部だなーって思ってLoginFormをなくしてUserFormを使うとかはダメだよねー。ActionもまとめたくなってもまとめないDispatchActionを使いたくなっても我慢する。ひたすらシンプルにそしてaction-mappingはワイルドカードによる定義で9割ぐらいまかなえるようにするっと。実際これで作ったことないから言えることで実際にこの考えでやってみてもいろいろと問題が起きるんだろうなー。

結局、自分が成長しないとダメってことだね。JSFでもClickでも。がんばろー。

そういえば2007年問題ってのが騒がれてるけど、これってStrutsが引退することに対する後継者問題?