6.2.7. Nablarchカスタムタグ制御ハンドラ

Nablarchの JSPカスタムタグ に必要なリクエスト処理を行うハンドラ。

本ハンドラでは、以下の処理を行う。

補足

GETリクエストの場合、カスタムタグではhiddenパラメータを出力しない。 hiddenパラメータを出力しない理由は、 GETリクエストを使用する を参照。

カスタムタグに合わせて、本ハンドラでも、GETリクエストの場合はhiddenパラメータに関連する処理を行わず、 複合キーの復元処理のみを行う。

処理の流れは以下のとおり。

../../../../_images/NablarchTagHandler_flow.png

6.2.7.2. モジュール一覧

<dependency>
  <groupId>com.nablarch.framework</groupId>
  <artifactId>nablarch-fw-web-tag</artifactId>
</dependency>

6.2.7.3. 制約

マルチパートリクエストハンドラ より後ろに設定すること
本ハンドラは、 JSPカスタムタグ に必要なリクエスト処理でリクエストパラメータにアクセスするため。
hidden暗号化 使用時は、スレッドコンテキスト変数管理ハンドラ より後ろに設定すること
hidden暗号化対象のリクエストか否かを判定するために、スレッドコンテキストからリクエストIDを取得するため。

6.2.7.4. 復号に失敗(改竄エラー、セッション無効化エラー)した場合のエラーページを設定する

hidden暗号化 の復号処理は、次の2つのケースにおいて失敗する可能性がある。 改竄の判定基準は、 復号処理 を参照。

  • 暗号化したデータが改竄された場合(改竄エラー)
  • セッションから復号に使う鍵を取得できない場合(セッション無効化エラー)

それぞれ、 NablarchTagHandler の設定で、 エラー発生時のエラーページとステータスコードを指定できる。

<component name="nablarchTagHandler"
           class="nablarch.common.web.handler.NablarchTagHandler">
  <!--
    改竄エラー発生時の設定
  -->
  <property name="path" value="/TAMPERING-DETECTED.jsp" />
  <property name="statusCode" value="400" />
  <!--
    セッション無効化エラー発生時の設定
    省略した場合は改竄エラー発生時の設定が使用される。
  -->
  <property name="sessionExpirePath" value="/SESSION-EXPIRED.jsp" />
  <property name="sessionExpireStatusCode" value="400" />

</component>