積極的に改善しましょう。
現在のプロジェクトではStrutsをベースにした独自フレームワークをつかってる。
いろいろ使ってると改善点とかが結構出てくる。
思いつくままに挙げると
- 基底Actionを作るときはDispacheActionを継承する。
- FormはValidatorActionFormまたはDynaValidatorActionFormを継承する。
- ページングはボタンやDropdownを使わずリンクにする。
- displayタグライブラリ導入を検討する。
- ページレイアウトはTilesを使用する。
- ビジネスロジック層で使用するBeanはActionFormのコピーにしない。
- パンくずリストの自動表示機能をつくる。
- Application Contextは極力使わない。
- サービスでもメッセージをセーブできるようにする。
6の補足:
現プロジェクトではActionFormを
SampleForm extends ActionForm { private String field1 = null; private String field2 = null; … }
として、これとまったく同じレイアウトのBeanをビジネスロジック用にもう1個用意。
SampleBean { private String field1 = null; private String field2 = null; … }
これを基底ActionクラスでBeanUtil.copyでコピーしてビジネスロジック層に送っている。
これだと同じようなBeanを何個も作らなくてはいけなくてなんか気持ち悪い。
そこでActionFormを
SampleForm extends ActionForm { private SampleBean bean = null; … }
のようにしてBeanを
SampleBean { private String field1 = null; private String field2 = null; … }
とする。ビジネスロジック層には単にSampleBeanを渡してやるだけにする。
JSPの書き方が少しめんどくさくなるがこのほうが何かと便利だと思う。
その他、思いついたら書き足していこう。