A Day In The Life

とあるプログラマの備忘録

redirect

今までまったく使ったことなかったんですけど、Strutsでredirectできるんですね。

public ActionForward execute(
        ActionMapping mapping, ActionForm form,
        HttpServletRequest request, HttpServletResponse response)
        throws Exception {
    :
    何らかの処理
    :
    return new RedirectingActionForward("/hoge.do?button=button");
}

上の例のようにパラメータも渡せるのでボタンのDispacthもできます。

ただし、メッセージをrequestに保存してると消えてしまうので注意が必要です。

かといってsessionに保存するといちいち消さなきゃいけません。
だからStrutsではあまりredirect使わないんだなぁと納得です。

sessionに保存して(errorsタグは未確認)で表示してやればOKです。

→keisenさん指摘ありがとう。
sessionに保存しておけば、Railsのflushと同じように次のリクエストで消えてくれます。