[cubby-user:8] リクエストパラメータの渡し方について

中村 学 [E-MAIL ADDRESS DELETED]
2008年 1月 10日 (木) 23:19:54 JST


初めまして、フリーランスでWebシステムの開発をしている中村というものです。

Cubbyいいですね。
現在の案件で採用しようと考えています。

1点要望というか相談なのですが、
Actionにリクエストパラメータを渡す際に、メソッドの引数をFormとして扱う機能を付けて頂けないでしょうか?

以下の様な感じです。

public class SampleAction {
  private HogeForm hoge;

  @Form("hoge")
  public ActionResult method1() {
    // 省略
  }
}

上記の標準的なCubbyでのActionのコードを、

public class SampleAction {
  public ActionResult method1(HogeForm hoge) {
    // 省略
  }
}

という記述でできないか、というものです。

この相談の理由としては、
リクエストパラメータをActionのフィールドで持たせると、
コンテナからDIしてもらう Service のようなクラスと、
リクエストパラメータとの区別が付けづらく、
可読性が下がると思うからです。

Cubbyのサンプルコードでは、これを避けるために DI 対象のフィールドとリクエストパラメータのフィールドをコメントで区切ってわかり易くしていましたが、毎回このようにコメントを記述するのも抵抗があります。
リクエストパラメータをメソッドの引数で明示できれば、ActionのフィールドはDI項目と綺麗に切り分けられると考えます。

もちろん、引数で行うと、JSPにForwardする際にデータを渡しにくい
(いちいちHttpServletRequest#setAttribute() したりする必要がある)
問題も有りますが、それは別途対応できると思います。

ご検討いただければ幸いです。
よろしくお願いいたします。

--------------------------------------------
中村 学
[E-MAIL ADDRESS DELETED]



cubby-user メーリングリストの案内