SAStrutsPlugin0.0.6リリース、他雑感
SAStrutsPlugin0.0.6
けっこう機能強化されてます。Actionの雛形とか個人的には便利そうだと思いました。
あとView on Server。Actionを右クリックしてSAStruts→View on Serverってやると、ブラウザでレンダリングしたページが表示される。これはあくまでも実行メソッド単位じゃなくて、アクション単位で、action.AddAction
で実行すると/add/
を実行した結果、つまりindex()
が実行されforwardされた結果が表示されるって意味ですね。
きょうは珍しく昼間(仕事の一環で)、SAStrutsに触ってみました。
アーキテクチャ再編検討の一環として、今ある既存のStrutsアプリをSAStrutsで書き直したらどうなるかなーなんていうのを試験的にやってみました。とりあえず参照系。数ヶ月前にいっぺんやってみたけどプラグインとかが強化されてるので改めて実施。
まず思ったのは、これってやっぱり、生のStrutsに比べて開発ラクだなーってこと。
DoltengでDBからEntity作って)、ActionやJSPからSAStrutsPluginで行き来して、JdbcManager
でスパっと外部結合書いて、今日のところはサクサク行った感じです。
途中引っかかったのは
- Doltengのプロジェクト新規作成はやっぱしちょっと古いのでblankから作り直した(mavenのリポジトリ?が古いのかも)
foo_bar_1
という列がキャメル化によってfooBar1
になって、でもそれだとうまく列名と対応づかないので@Column
アノテーションをつけたというのと、- あとS2JDBCの
SimpleWhere#excludesWhitespace()
を見つけるのに手間取ったくらいでした。
妄想1
従業員一覧みたいなのを、DTOからJSPの${f:h(e.ename)}
うんぬんを書くのが結構かったるかったです。そこで、プラグインを妄想。JSP中のEL式の中で、Ctrl+Spaceを押すと、DTOのプロパティの候補が表示される、とか。(んなもん作れるのか?)
または、DTOで右クリックして「プロパティの一覧をクリップボードにコピー...」ができるとか。どんな形式でコピーされるかはVelocityか何かでカスタマイズできるようにしといて、たとえば次のようなテンプレが勝手にコピーされるので、それをJSPにペーストすればラクチン。(こっちだったら作れるかも(Velocityは別として))個人的にはここでPerlか何かで作ったフィルタを外部プロセスで実行したいところだけど、作るとしたらEclipse内で完結させたほうがよさげ。
<table> <thead><tr><th>aaa</th><th>bbb</th><th>ccc</th></tr></thead> <tbody> <c:forEach var="e" varStatus="s" items="${empItems}"> <tr class="${s.index %2 == 0 ? 'even' : 'odd'}"> <td>${f:h(e.aaa)}</td> <td>${f:h(e.bbb)}</td> <td>${f:h(e.ccc)}</td> </c:forEach> </tbody> </table>
みたいな。
妄想3
ツイッターで挙がってたのだけど、HOT deployまわりの動きの補足説明(たしかS2Containerのドキュメントへのリンクはあったと思うけど)、とか、TDDが好きな人向けの、テストの進め方的なもの(私が聞きたいですが)。チュートリアルにSeleniumで機能テストとかつけたら邪魔かな?SeleniumはIDEをちょっと試しただけですが使えそうに思いました。あとこれは前も思ったのですが、遷移網羅の検証。つながり的におかしなところはないか、redirect/forwardによってパスがおかしくなって以降の処理に差支えがでたりしないか、といったところをチェックして問題が発見できれば最高なのですが、それって新たなroutingFilterを作るようなものでちょっと厳しいですね。