2009-07-20

SAStrutsでURLにパラメータを渡したい、できる限り全画面で。

セッションが切れても場合分けできるようにURLで区別したい要望に対応したいと考えている。

SAStrutsでURLにパラメータを含めたい時はよくスラッシュ区切りを使用する。
これだとGETでやりとりするときは問題ないが、POSTで送信すると、パラメータがうまく設定できない。
POST処理そのもののURLに追加はできないとしても、せめてPOSTで保存完了後の画面のためにパラメータを渡したい。

全画面のURLにパラメータを含めたいが、うまく設定できない場合はPOSTにパラメータを設定してそれを読むようにしたい。
下記のように、urlPatternの違うメソッドを2つ用意して同じ処理を実行させる。

@Execute(input = "edit.jsp", urlPattern = "update/{viewId}", redirect = true)
public String updateByViewId() {
return update();
}

@Execute(input = "edit.jsp", redirect = true)
public String update() {
...
return "/deptView/index/" + form.viewId;
}

0 件のコメント: