以下途中で脈略なくなり、結論としていらないっぽい。
最近FormでSubmitする時にSubmitする前と後で同じもの、StrutsでいうところのActionFormやS2StrutsのPOJO(Dto)、IkushipeでいうところのModelを使うのが使いにくい気がしてきた。StrutsでいうとこのAction単位、Ikushipeでいうところのページ単位でActionFormやModelを持つんじゃなくて、その中のイベントごとにSubmitする前と後を定義できると嬉しいかもしれない(Strutsの場合はS2Struts限定)。特に1画面でいろんなSubmitを使うAjaxなんかで。
- S2Strutsの例
@StrutsAction(name = "posixAccountDto", parameter = "method", validate = false)
public interface LoginAction {
@StrutsActionForward(path = "/user/index.html")
public static final String USER = "USER";
@StrutsActionForward(path = "/user/login.html")
public static final String ERROR = "ERROR";
public String login();
}
を出来るかどうかは別として、
public interface LoginAction {
@StrutsActionForward(path = "/user/index.html")
public static final String USER = "USER";
@StrutsActionForward(path = "/user/login.html")
public static final String ERROR = "ERROR";
@StrutsAction(submitDto = "posixAccountDto", returnDto = "userDto", parameter = "method", validate = false)
public String login();
}
とか。でもS2Sturtsの場合、Actionにgetter用意しとけばそうなるからいらないか・・・。
- Ikushipeの例
@WebPage(model = LoginModel.class)
public class LoginPage {
public Class<UserPage> login(LoginModel loginModel) {
...
return UserPage.class;
}
}
を出来るかどうかは別として、
public class LoginPage {
public Class<UserPage> login(@EventPageModel LoginModel loginModel, @ResultPageModel UserModel userModel) {
...
return UserPage.class;
}
}
@EventPageModelにリクエストパラメータを入って、ページ偏移後のattrに@ResultPageModelの中身が展開される感じ。@EventPageModelもattrに残す。こうなるとそのページで起こりうる複数のイベントを記述できる。ついでに偏移後に使うページに複数のフォームがあるかもしれないのでモデルも複数であっても構わない。
でもこれもS2Strutsみたいにgetterでattrに出せるようにすればいらないか。とりあえずの手段だとattrにセットするsetAttributeってのを作るとか。
@WebPage(model = LoginModel.class)
public class LoginPage {
public Class<UserPage> login(LoginModel loginModel, UserModel userModel) {
...
setAttribute("userModel", userModel);
return UserPage.class;
}
}
この記事に関連する別の記事:
- 1Page 1Modelを1Event 複数Modelへ ...
- 入力された文字の前後の空白スペースなどの文字列を除去しても有効な文字があるか検証するValidatorと実際に取り除く処理 入力フォームでユーザに文字を入力させると、前後に空白スペースなどを入れちゃったりしますよね。Validatorで前後に空白スペースがあればエラーにしても良いですが、それはちょっと不親切なので自動的に取り除いてあげるのが親 [...]...
- Cubbyのアクションクラスで定数を利用してリファクタリングしやすくする Cubbyのアクションクラスにはバリデーションルールの定義時やアノテーションに文字列が登場します。文字列で指定しているのでリファクタリングする時に修正漏れなどがおきそうでちょっと怖いです。そこで、それらの文字列を定数にし [...]...
- 仮型引数を持つ関数を型引数を持つ関数でOverrideしたクラスからその関数をリフレクションで取得するとそれぞれ別の関数として見つかる ...
- Cubbyの良いところ 先日Cubbyで作った2個目の簡単なアプリを予定通り動かし始めました。今のとこ大きなトラブルもないようです。というわけで、Cubbyの良いところを書きたいと思います。ちなみにほとんど同じことがSAStrutsにも言えます [...]...
- Newer: 1Page 1Modelを1Event 複数Modelへ
- Older: 車で
コメント:0
トラックバック:0
- このエントリーのトラックバックURL
- http://jfut.integ.jp/2007/01/09/1action-1actionform%E3%82%921event-1actionform%E3%81%B8/trackback/
- Listed below are links to weblogs that reference
- 1Action 1ActionFormを1Event 1ActionFormへ from ふたつの川うるおう日記

