@Documented @Target(value=METHOD) @Retention(value=RUNTIME) @Interceptor(value=OnDoubleSubmission.Impl.class) @Published public @interface OnDoubleSubmission
Interceptor
。
業務アクションハンドラのメソッドに付与することで、二重サブミット(同一リクエストの二重送信)のチェックを行う。
本インターセプタを使用するためには、jspでのn:formタグによるトークン設定が必要である。
<n:form useToken="true">
<n:submit type="button" value="Submit" uri="/XXXXX" allowDoubleSubmission="false">
</n:form>
本インターセプタは、業務アクションハンドラに次のように実装する。
@OnDoubleSubmission(path = "XXX.jsp")
@OnError(type = ApplicationException.class, path = "forward://XXX.html") public HttpResponse handle(HttpRequest req, ExecutionContext ctx) { // 省略 }
修飾子とタイプ | 任意要素と説明 |
---|---|
java.lang.String |
messageId
二重サブミットと判定した場合の遷移先画面に表示するエラーメッセージに使用するメッセージIDを返す。
|
java.lang.String |
path
二重サブミットと判定した場合の遷移先のリソースパスを返す。
|
int |
statusCode
二重サブミットと判定した場合のレスポンスステータスを返す。
|
public abstract java.lang.String path
NullPointerException
が発生する。public abstract java.lang.String messageId
public abstract int statusCode
BasicDoubleSubmissionHandler
のフィールドに定義されている400を返す。