Webアプリケーションは1ページに1機能というのが一般的だと思うが、その1機能の中に複数の処理があることが多い。
例えば、一覧画面にデータのいちらんを表示して、修正ボタンと削除ボタンをデータごとに表示する。修正ボタンが押された場合は、修正画面に移動してFormに修正するデータをセットし、削除ボタンが押された場合は、そのデータ自体を削除したい。
こういうことをStrutsでどう実現するか調べてみた。
自力:JavascriptでActionをすりかえる
- Javascriptを使うのでクライアントに依存してしまうから怖い
- 処理ごとにActionクラスが増える
- formのaction属性に書いたアクション名に対応したActionFormが使われるため、Javascriptには注意
自力:Actionクラス内で判定する
- 判定するActionが必要になる
- Actionクラス内に「削除の場合はこっちー」みたいな処理を書かなければならない