@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| 修飾子とタイプ | 必須要素と説明 | 
|---|---|
String | 
path
リクエストハンドラから、 
OnError.type()
 に合致する実行時例外が送出された場合に送信する画面のリソースパスを返す。 | 
Class<?> | 
type
このインターセプタがハンドリングする実行時例外。 
 | 
| 修飾子とタイプ | 任意要素と説明 | 
|---|---|
int | 
statusCode
リクエストハンドラから、 
OnError.type()
 に合致する実行時例外が送出された場合のレスポンスステータスを返す。 | 
public abstract Class<?> type
public abstract String path
OnError.type()
 に合致する実行時例外が送出された場合に送信する画面のリソースパスを返す。
 (必須属性)public abstract int statusCode
OnError.type()
 に合致する実行時例外が送出された場合のレスポンスステータスを返す。
 デフォルトではステータスコード400(Bad Request)となる。