Cubby1.1-rc2をリリースしました。
http://cubby.seasar.org/download.html
今回、RedirectやSendErrorの便利機能が追加されました。
例えば、以下のようにしてURLにパラメータを埋め込んでリダイレクトすることができます。
public class BlogAction { @Path("/{userName,a-z}/entries/") public ActionResult showUserEntry() { ... } } public class LoginAction { public ActionResult process() { ... // /{userName}/entriesへリダイレクト return new Redirect(BlogAction.class, "showUserEntry") .param("userName", userName); } }
存在しないリソースにアクセスされたときに404を返したいときは、以下のように書くことができます。SendErrorの代わりにRedirectを指定することで別のページ遷移させることもできます。
public ValidationRules validationRules = new DefaultValidationRules() { @Override protected void initialize() { add(DATA_CONSTRAINT, new ExistAccountValidationRule()); } }; protected class ExistAccountValidationRule implements ValidationRule { public void apply(Map<String, Object[]> params, Object form, ActionErrors errors) throws ValidationException { if (account == null) { throw new ValidationException(new SendError(SC_NOT_FOUND)); } } }