@RequestParam/@SessionAttr
@RequestParam/@SessionAttrを実装しました.
ていうか、0.4開発ブランチにマージしました.
サンプルみるとこんな感じです.
@RequestScope @Page("requestparam") public class RequestParamPage { @Default public Navigation index(WebContext context) { return Redirect.to("jsp/requestParam.jsp"); } @POST @ActionParam public Navigation message(@RequestParam("left") String left, @RequestParam("right") String right, HttpServletRequest request) { request.setAttribute("message", left + " : " + right); return Forward.to("jsp/requestParam.jsp"); } @POST @ActionParam public Navigation messageNotNull( @RequestParam(value = "left", empty = false) String left, @RequestParam(value = "right", empty = false) String right, HttpServletRequest request) { request.setAttribute("message", left + " : " + right); return Forward.to("jsp/requestParam.jsp"); } }
デフォルトはリクエストパラメータがなくても、引数でわたってきます.
が、@RequestParam(value = "left", empty = false) のように空を許可しないと、例外が飛びます.
この辺はT2ではデフォルトはバリデーション的なことはせずにユーザ側に
渡すのがポリシーなのでそのポリシーにあわせてます.