Package nablarch.fw.web.handler
Class HttpCharacterEncodingHandler
java.lang.Object
nablarch.fw.web.handler.HttpCharacterEncodingHandler
HTTP エンコーディング制御ハンドラ。
#setDefaultEncoding(String) に指定されたエンコーディングを HttpServletRequest/HttpServletResponse に対して設定する。 明示的に設定しない場合は"UTF-8"を使用する。
- Author:
- Toru Nagashima
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionデフォルトエンコーディングを取得する。handle
(Object data, ExecutionContext context) エンコーディングを設定する。
本ハンドラは以下の手順で処理を行う。resolveRequestEncoding(HttpServletRequest)
で解決したエンコーディングを HttpServletRequest に設定する。resolveResponseEncoding(HttpServletRequest)
で解決したエンコーディングを HttpServletResponse に設定する。 後続のハンドラに処理を委譲する。protected Charset
resolveRequestEncoding
(jakarta.servlet.http.HttpServletRequest request) リクエストのエンコーディングを解決する。protected Charset
resolveResponseEncoding
(jakarta.servlet.http.HttpServletRequest request) レスポンスのエンコーディングを解決する。void
setAppendResponseCharacterEncoding
(boolean appendResponseCharacterEncoding) レスポンスのContent-Typeに「;charset=xx」を付加するかのフラグを設定する。void
setDefaultEncoding
(String name) デフォルトエンコーディングを設定する。void
setDefaultEncodingCharset
(Charset encoding) デフォルトエンコーディングを設定する。
-
Constructor Details
-
HttpCharacterEncodingHandler
デフォルトコンストラクタ。
-
-
Method Details
-
setDefaultEncoding
デフォルトエンコーディングを設定する。- Parameters:
name
- エンコーディング名
-
setDefaultEncodingCharset
デフォルトエンコーディングを設定する。- Parameters:
encoding
- エンコーディング
-
getDefaultEncoding
デフォルトエンコーディングを取得する。- Returns:
- エンコーディング
-
setAppendResponseCharacterEncoding
public void setAppendResponseCharacterEncoding(boolean appendResponseCharacterEncoding) レスポンスのContent-Typeに「;charset=xx」を付加するかのフラグを設定する。- Parameters:
appendResponseCharacterEncoding
- フラグ
-
handle
エンコーディングを設定する。
本ハンドラは以下の手順で処理を行う。resolveRequestEncoding(HttpServletRequest)
で解決したエンコーディングを HttpServletRequest に設定する。resolveResponseEncoding(HttpServletRequest)
で解決したエンコーディングを HttpServletResponse に設定する。- 後続のハンドラに処理を委譲する。
-
resolveRequestEncoding
@Published(tag="architect") protected Charset resolveRequestEncoding(jakarta.servlet.http.HttpServletRequest request) リクエストのエンコーディングを解決する。
本ハンドラでは設定されているデフォルトエンコーディングを返却する。 URI 等のリクエスト情報によってエンコーディングを切り替える必要がある場合は、 本メソッドを拡張し、エンコーディングを解決する処理を実装すること。 ただし、本メソッド内ではリクエストパラメータの取得を行ってはならない。 リクエストパラメータの取得を行ってしまうと、エンコーディングの指定が行えなくなってしまうので、 文字化けの原因となる。
- Parameters:
request
- リクエスト- Returns:
- リクエストのエンコーディング
-
resolveResponseEncoding
@Published(tag="architect") protected Charset resolveResponseEncoding(jakarta.servlet.http.HttpServletRequest request) レスポンスのエンコーディングを解決する。
本ハンドラでは設定されているデフォルトエンコーディングを返却する。 URI 等のリクエスト情報によってエンコーディングを切り替える必要がある場合は、 本メソッドを拡張し、エンコーディングを解決する処理を実装すること。 ただし、本メソッド内ではリクエストパラメータの取得を行ってはならない。 リクエストパラメータの取得を行ってしまうと、エンコーディングの指定が行えなくなってしまうので、 文字化けの原因となる。
- Parameters:
request
- リクエスト- Returns:
- レスポンスのエンコーディング
-