クラス AbstractJackson2View
java.lang.ObjectSE
org.springframework.context.support.ApplicationObjectSupport
org.springframework.web.context.support.WebApplicationObjectSupport
org.springframework.web.servlet.view.AbstractView
org.springframework.web.servlet.view.json.AbstractJackson2View
- 実装されたすべてのインターフェース:
Aware
、BeanNameAware
、ApplicationContextAware
、ServletContextAware
、View
- 既知の直属サブクラス
MappingJackson2JsonView
,MappingJackson2XmlView
Jackson ベースおよびコンテンツ型に依存しない
AbstractView
実装の抽象基本クラス。- 導入:
- 4.1
- 作成者:
- Jeremy Grelle, Arjen Poutsma, Rossen Stoyanchev, Juergen Hoeller, Sebastien Deleuze
フィールドのサマリー
フィールドクラス org.springframework.web.servlet.view.AbstractView から継承されたフィールド
DEFAULT_CONTENT_TYPE
クラス org.springframework.context.support.ApplicationObjectSupport から継承されたフィールド
logger
インターフェース org.springframework.web.servlet.View から継承されたフィールド
PATH_VARIABLES, RESPONSE_STATUS_ATTRIBUTE, SELECTED_CONTENT_TYPE
コンストラクターのサマリー
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected ObjectSE
filterAndWrapModel
(MapSE<StringSE, ObjectSE> model, HttpServletRequestEE request) MappingJacksonValue
コンテナーでモデルをフィルターし、オプションでラップします。protected abstract ObjectSE
filterModel
(MapSE<StringSE, ObjectSE> model) 指定されたモデルから不要な属性を除外します。final JsonEncoding
このビューのJsonEncoding
を返します。final ObjectMapper
このビューのObjectMapper
を返します。protected void
prepareResponse
(HttpServletRequestEE request, HttpServletResponseEE response) レンダリングのために指定されたレスポンスを準備します。protected void
renderMergedOutputModel
(MapSE<StringSE, ObjectSE> model, HttpServletRequestEE request, HttpServletResponseEE response) ビューを実際にレンダリングするには、サブクラスでこのメソッドを実装する必要があります。void
setDisableCaching
(boolean disableCaching) 生成された JSON のキャッシュを無効にします。void
setEncoding
(JsonEncoding encoding) このビューのJsonEncoding
を設定します。abstract void
setModelKey
(StringSE modelKey) このビューによってレンダリングされるモデルの属性を設定します。void
setObjectMapper
(ObjectMapper objectMapper) このビューのObjectMapper
を設定します。void
setPrettyPrint
(boolean prettyPrint) 出力を書き込むときにデフォルトのプリティプリンターを使用するかどうか。void
setUpdateContentLength
(boolean updateContentLength) レスポンスの "Content-Length" ヘッダーを更新するかどうか。protected void
writeContent
(OutputStreamSE stream, ObjectSE object) 実際の JSON コンテンツをストリームに書き込みます。protected void
writePrefix
(JsonGenerator generator, ObjectSE object) メインコンテンツの前にプレフィックスを書きます。protected void
writeSuffix
(JsonGenerator generator, ObjectSE object) メインコンテンツの後にサフィックスを記述します。クラス org.springframework.web.servlet.view.AbstractView から継承されたメソッド
addStaticAttribute, createMergedOutputModel, createRequestContext, createTemporaryOutputStream, exposeModelAsRequestAttributes, formatViewName, generatesDownloadContent, getAttributesMap, getBeanName, getContentType, getRequestContextAttribute, getRequestToExpose, getStaticAttributes, isExposePathVariables, render, setAttributes, setAttributesCSV, setAttributesMap, setBeanName, setContentType, setExposeContextBeansAsAttributes, setExposedContextBeanNames, setExposePathVariables, setRequestContextAttribute, setResponseContentType, toString, writeToResponse
クラス org.springframework.web.context.support.WebApplicationObjectSupport から継承されたメソッド
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext
クラス org.springframework.context.support.ApplicationObjectSupport から継承されたメソッド
getApplicationContext, getMessageSourceAccessor, initApplicationContext, obtainApplicationContext, requiredContextClass, setApplicationContext
フィールドの詳細
updateContentLength
protected boolean updateContentLength
コンストラクターの詳細
AbstractJackson2View
メソッドの詳細
setObjectMapper
このビューのObjectMapper
を設定します。設定しない場合、デフォルトのObjectMapper
が使用されます。カスタム構成された
ObjectMapper
を設定することは、JSON 直列化プロセスをさらに制御する 1 つの方法です。もう 1 つのオプションは、直列化する型に Jackson が提供するアノテーションを使用することです。この場合、カスタム構成の ObjectMapper は不要です。getObjectMapper
このビューのObjectMapper
を返します。setEncoding
このビューのJsonEncoding
を設定します。デフォルトでは、UTF-8 が使用されます。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
クラスからコピーされた説明:AbstractView
レンダリングのために指定されたレスポンスを準備します。デフォルトの実装では、HTTPS 経由でダウンロードコンテンツを送信するときに IE バグの回避策が適用されます。
- オーバーライド:
- クラス
AbstractView
のprepareResponse
- パラメーター:
request
- 現在の HTTP リクエストresponse
- 現在の HTTP レスポンス
renderMergedOutputModel
protected void renderMergedOutputModel(MapSE<StringSE, ObjectSE> model, HttpServletRequestEE request, HttpServletResponseEE response) throws ExceptionSEクラスからコピーされた説明:AbstractView
ビューを実際にレンダリングするには、サブクラスでこのメソッドを実装する必要があります。最初のステップは、リクエストの準備です。JSP の場合、これはモデルオブジェクトをリクエスト属性として設定することを意味します。2 番目のステップは、たとえば RequestDispatcher を介した JSP を含む、実際のビューのレンダリングです。
- 次で指定:
- クラス
AbstractView
のrenderMergedOutputModel
- パラメーター:
model
- 静的な属性よりも動的な値が優先される、結合された出力マップ(非null
)request
- 現在の HTTP リクエストresponse
- 現在の HTTP レスポンス- 例外:
ExceptionSE
- レンダリングに失敗した場合
filterAndWrapModel
MappingJacksonValue
コンテナーでモデルをフィルターし、オプションでラップします。- パラメーター:
model
-renderMergedOutputModel(java.util.Map<java.lang.String, java.lang.Object>, jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse)
に渡されるモデルrequest
- 現在の HTTP リクエスト- 戻り値:
- レンダリングされるラップまたはアンラップされた値
writeContent
実際の JSON コンテンツをストリームに書き込みます。- パラメーター:
stream
- 使用する出力ストリームobject
-filterModel(java.util.Map<java.lang.String, java.lang.Object>)
から返された、レンダリングされる値- 例外:
IOExceptionSE
- 書き込みに失敗した場合
setModelKey
このビューによってレンダリングされるモデルの属性を設定します。設定すると、他のすべてのモデル属性は無視されます。filterModel
指定されたモデルから不要な属性を除外します。戻り値は、別のMap
SE または単一の値オブジェクトのいずれかです。- パラメーター:
model
-renderMergedOutputModel(java.util.Map<java.lang.String, java.lang.Object>, jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse)
に渡されるモデル- 戻り値:
- レンダリングされる値
writePrefix
メインコンテンツの前にプレフィックスを書きます。- パラメーター:
generator
- コンテンツの書き込みに使用するジェネレーター。object
- 出力メッセージに書き込むオブジェクト。- 例外:
IOExceptionSE
writeSuffix
メインコンテンツの後にサフィックスを記述します。- パラメーター:
generator
- コンテンツの書き込みに使用するジェネレーター。object
- 出力メッセージに書き込むオブジェクト。- 例外:
IOExceptionSE