クラス AbstractJackson2View

実装されたすべてのインターフェース:
AwareBeanNameAwareApplicationContextAwareServletContextAwareView
既知の直属サブクラス
MappingJackson2JsonViewMappingJackson2XmlView

public abstract class AbstractJackson2View extends AbstractView
Jackson ベースおよびコンテンツ型に依存しない AbstractView 実装の抽象基本クラス。
導入:
4.1
作成者:
Jeremy Grelle, Arjen Poutsma, Rossen Stoyanchev, Juergen Hoeller, Sebastien Deleuze
  • フィールドの詳細

    • updateContentLength

      protected boolean updateContentLength
  • コンストラクターの詳細

    • AbstractJackson2View

      protected AbstractJackson2View(ObjectMapper objectMapper, StringSE contentType)
  • メソッドの詳細

    • setObjectMapper

      public void setObjectMapper(ObjectMapper objectMapper)
      このビューの ObjectMapper を設定します。設定しない場合、デフォルトの ObjectMapper が使用されます。

      カスタム構成された ObjectMapper を設定することは、JSON 直列化プロセスをさらに制御する 1 つの方法です。もう 1 つのオプションは、直列化する型に Jackson が提供するアノテーションを使用することです。この場合、カスタム構成の ObjectMapper は不要です。

    • getObjectMapper

      public final ObjectMapper getObjectMapper()
      このビューの ObjectMapper を返します。
    • setEncoding

      public void setEncoding(JsonEncoding encoding)
      このビューの JsonEncoding を設定します。デフォルトでは、UTF-8 が使用されます。
    • getEncoding

      public final JsonEncoding getEncoding()
      このビューの JsonEncoding を返します。
    • setPrettyPrint

      public void setPrettyPrint(boolean prettyPrint)
      出力を書き込むときにデフォルトのプリティプリンターを使用するかどうか。これは、ObjectMapper を次のように設定するためのショートカットです。
       ObjectMapper mapper = new ObjectMapper();
       mapper.configure(SerializationFeature.INDENT_OUTPUT, true);
       

      デフォルト値は false です。

    • setDisableCaching

      public void setDisableCaching(boolean disableCaching)
      生成された JSON のキャッシュを無効にします。

      デフォルトは true で、クライアントは生成された JSON をキャッシュできません。

    • setUpdateContentLength

      public void setUpdateContentLength(boolean updateContentLength)
      レスポンスの "Content-Length" ヘッダーを更新するかどうか。true に設定すると、コンテンツの長さを判別し、レスポンスの 'Content-Length' ヘッダーを設定するために、レスポンスがバッファーに入れられます。

      デフォルト設定は false です。

    • prepareResponse

      protected void prepareResponse(HttpServletRequestEE request, HttpServletResponseEE response)
      クラスからコピーされた説明: AbstractView
      レンダリングのために指定されたレスポンスを準備します。

      デフォルトの実装では、HTTPS 経由でダウンロードコンテンツを送信するときに IE バグの回避策が適用されます。

      オーバーライド:
      クラス AbstractViewprepareResponse 
      パラメーター:
      request - 現在の HTTP リクエスト
      response - 現在の HTTP レスポンス
    • renderMergedOutputModel

      protected void renderMergedOutputModel(MapSE<StringSE,ObjectSE> model, HttpServletRequestEE request, HttpServletResponseEE response) throws ExceptionSE
      クラスからコピーされた説明: AbstractView
      ビューを実際にレンダリングするには、サブクラスでこのメソッドを実装する必要があります。

      最初のステップは、リクエストの準備です。JSP の場合、これはモデルオブジェクトをリクエスト属性として設定することを意味します。2 番目のステップは、たとえば RequestDispatcher を介した JSP を含む、実際のビューのレンダリングです。

      次で指定:
      クラス AbstractViewrenderMergedOutputModel 
      パラメーター:
      model - 静的な属性よりも動的な値が優先される、結合された出力マップ(非 null
      request - 現在の HTTP リクエスト
      response - 現在の HTTP レスポンス
      例外:
      ExceptionSE - レンダリングに失敗した場合
    • filterAndWrapModel

      protected ObjectSE filterAndWrapModel(MapSE<StringSE,ObjectSE> model, HttpServletRequestEE request)
      MappingJacksonValue コンテナーでモデルをフィルターし、オプションでラップします。
      パラメーター:
      model - renderMergedOutputModel(java.util.Map<java.lang.String, java.lang.Object>, jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse) に渡されるモデル
      request - 現在の HTTP リクエスト
      戻り値:
      レンダリングされるラップまたはアンラップされた値
    • writeContent

      protected void writeContent(OutputStreamSE stream, ObjectSE object) throws IOExceptionSE
      実際の JSON コンテンツをストリームに書き込みます。
      パラメーター:
      stream - 使用する出力ストリーム
      object - filterModel(java.util.Map<java.lang.String, java.lang.Object>) から返された、レンダリングされる値
      例外:
      IOExceptionSE - 書き込みに失敗した場合
    • setModelKey

      public abstract void setModelKey(StringSE modelKey)
      このビューによってレンダリングされるモデルの属性を設定します。設定すると、他のすべてのモデル属性は無視されます。
    • filterModel

      protected abstract ObjectSE filterModel(MapSE<StringSE,ObjectSE> model)
      指定されたモデルから不要な属性を除外します。戻り値は、別の MapSE または単一の値オブジェクトのいずれかです。
      パラメーター:
      model - renderMergedOutputModel(java.util.Map<java.lang.String, java.lang.Object>, jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse) に渡されるモデル
      戻り値:
      レンダリングされる値
    • writePrefix

      protected void writePrefix(JsonGenerator generator, ObjectSE object) throws IOExceptionSE
      メインコンテンツの前にプレフィックスを書きます。
      パラメーター:
      generator - コンテンツの書き込みに使用するジェネレーター。
      object - 出力メッセージに書き込むオブジェクト。
      例外:
      IOExceptionSE
    • writeSuffix

      protected void writeSuffix(JsonGenerator generator, ObjectSE object) throws IOExceptionSE
      メインコンテンツの後にサフィックスを記述します。
      パラメーター:
      generator - コンテンツの書き込みに使用するジェネレーター。
      object - 出力メッセージに書き込むオブジェクト。
      例外:
      IOExceptionSE