Package nablarch.fw.web.interceptor
Annotation Interface OnError
@Documented
@Target(METHOD)
@Retention(RUNTIME)
@Interceptor(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);
}
}
- See Also:
-
Nested Class Summary
-
Required Element Summary
-
Optional Element Summary
Modifier and TypeOptional ElementDescriptionint
リクエストハンドラから、type()
に合致する実行時例外が送出された場合のレスポンスステータスを返す。
-
Element Details
-
type
Class<? extends RuntimeException> typeこのインターセプタがハンドリングする実行時例外。 (必須属性) -
path
String pathリクエストハンドラから、type()
に合致する実行時例外が送出された場合に送信する画面のリソースパスを返す。 (必須属性)
-
-
-
statusCode
int statusCodeリクエストハンドラから、type()
に合致する実行時例外が送出された場合のレスポンスステータスを返す。デフォルトではステータスコード400(Bad Request)となる。
- Default:
- 400
-