@Documented
@Target(value=METHOD)
@Retention(value=RUNTIME)
@Interceptor(value=nablarch.fw.web.interceptor.OnError.Impl.class)
@Published
public @interface OnError
Interceptor
。
次の例では、"ApplicationException"が送出された場合の遷移先を
入力画面(registerForm.jsp)に設定している。
@OnError
(
type = ApplicationException.class
, path ="servlet://registerForm.jsp"
)
public HttpResponse handle(HttpRequest req, ExecutionContext ctx) {
registerUser(req.getParamMap());
return new HttpResponse(200, "servlet://registrationCompleted.jsp");
}
この処理は、以下のコードによる処理と本質的に同等である。
public HttpResponse handle(HttpRequest req, ExecutionContext ctx) {
try {
registerUser(req.getParamMap());
return new HttpResponse(200, "servlet://registrationCompleted.jsp");
} catch(ApplicationException ae) {
throw new HttpErrorResponse(400, "servlet://registerForm.jsp", ae);
}
}
OnError.Impl
Modifier and Type | Required Element and Description |
---|---|
java.lang.String |
path
リクエストハンドラから、
OnError.type()
に合致する実行時例外が送出された場合に送信する画面のリソースパスを返す。
(必須属性) |
java.lang.Class<?> |
type
このインターセプタがハンドリングする実行時例外。
(必須属性)
|
Modifier and Type | Optional Element and Description |
---|---|
int |
statusCode
リクエストハンドラから、
OnError.type()
に合致する実行時例外が送出された場合のレスポンスステータスを返す。 |
public abstract java.lang.String path
OnError.type()
に合致する実行時例外が送出された場合に送信する画面のリソースパスを返す。
(必須属性)public abstract int statusCode
OnError.type()
に合致する実行時例外が送出された場合のレスポンスステータスを返す。
デフォルトではステータスコード400(Bad Request)となる。