EzServletの自動生成クラスをリファクタリング


こんにちは、EzServletのControllerのソースが今一煩雑でなんとかしなければと考えながらも試行錯誤しているうちに、いつの間にかお酒に溺れいる高橋です。


さて今回は、EzServletの自動生成されるコントローラークラス(ソース)をリファクタリングした結果を説明したいと思います。


今までのEzServletのソース

 public class HogeAction {
  /** Request */
  public EzRequest resuest;
  /** Response */
  public EzResponse response;
  /** session */
  public EzSession session;
  /** コンストラクタ */
  public HogeAction(EzSession session, EzRequest request, EzResponse response) {
   this.request = request;
   this.response = response;
   this.session = session;
  }
  /** URLより直接呼び出された時の初期化メソッド */
  public void index(Hoge hoge) {
   ...
  }
  /** Hoge.htmlのaddボタンが押下された時に呼び出されるメソッド */
  public void add(Hoge hoge) {
   ...
  }
 }

うーん、Request、Responseおよびsessionがプロパティとして宣言されているためごちゃごちゃしてみえますね><


リファクタリングしたEzServletのソース

 public class HogeAction {
  /** URLより直接呼び出された時の初期化メソッド */
  public void index(EzRequest resuest, EzResponse response, Hoge hoge) {
   ...
  }
  /** Hoge.htmlのaddボタンが押下された時に呼び出されるメソッド */
  public void add(EzRequest resuest, EzResponse response, Hoge hoge) {
   ...
  }
 }

RequestやResponseをメソッドの引数として指定することにしました。


これで、すっきりしたでしょ(^^)

おっとちなみに、EzServletではあまり利用されないSessionですが、利用方法は簡単です。

request.getSession()でok!