クラス AbstractTemplateView
- 実装されたすべてのインターフェース:
Aware
、BeanNameAware
、InitializingBean
、ApplicationContextAware
、ServletContextAware
、View
- 既知の直属サブクラス
FreeMarkerView
,GroovyMarkupView
FreeMarker などのテンプレートベースのビューテクノロジーのアダプター基本クラス。モデルでリクエスト属性とセッション属性を使用する機能と、Spring の FreeMarker マクロライブラリのヘルパーオブジェクトを公開するオプション。
JSP/JSTL およびその他のビューテクノロジーは自動的に HttpServletRequest オブジェクトにアクセスし、現在のユーザーのリクエスト / セッション属性にアクセスします。さらに、ヘルパーオブジェクトをリクエスト属性として作成してキャッシュすることもできます。
- 導入:
- 1.0.2
- 作成者:
- Juergen Hoeller, Darren Davison
- 関連事項:
フィールドのサマリー
フィールド修飾子と型フィールド説明static final StringSE
テンプレートモデル内の RequestContext インスタンスの変数名。Spring のマクロで使用できます。たとえば、BindStatus オブジェクトの作成に使用できます。クラス 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 void
applyContentType
(HttpServletResponseEE response) "contentType" Bean プロパティで指定されたこのビューのコンテンツ型を、指定されたレスポンスに適用します。protected final void
renderMergedOutputModel
(MapSE<StringSE, ObjectSE> model, HttpServletRequestEE request, HttpServletResponseEE response) ビューを実際にレンダリングするには、サブクラスでこのメソッドを実装する必要があります。protected abstract void
renderMergedTemplateModel
(MapSE<StringSE, ObjectSE> model, HttpServletRequestEE request, HttpServletResponseEE response) ビューを実際にレンダリングするには、サブクラスでこのメソッドを実装する必要があります。void
setAllowRequestOverride
(boolean allowRequestOverride) HttpServletRequest 属性が同じ名前のコントローラー生成モデル属性をオーバーライド(非表示)できるかどうかを設定します。void
setAllowSessionOverride
(boolean allowSessionOverride) HttpSession 属性が同じ名前のコントローラー生成モデル属性をオーバーライド(非表示)できるかどうかを設定します。void
setExposeRequestAttributes
(boolean exposeRequestAttributes) テンプレートとマージする前に、すべてのリクエスト属性をモデルに追加するかどうかを設定します。void
setExposeSessionAttributes
(boolean exposeSessionAttributes) テンプレートとマージする前に、すべての HttpSession 属性をモデルに追加するかどうかを設定します。void
setExposeSpringMacroHelpers
(boolean exposeSpringMacroHelpers) Spring のマクロライブラリで使用するために、RequestContext を "springMacroRequestContext" という名前で公開するかどうかを設定します。クラス org.springframework.web.servlet.view.AbstractUrlBasedView から継承されたメソッド
afterPropertiesSet, checkResource, getUrl, isUrlRequired, setUrl, toString
クラス org.springframework.web.servlet.view.AbstractView から継承されたメソッド
addStaticAttribute, createMergedOutputModel, createRequestContext, createTemporaryOutputStream, exposeModelAsRequestAttributes, formatViewName, generatesDownloadContent, getAttributesMap, getBeanName, getContentType, getRequestContextAttribute, getRequestToExpose, getStaticAttributes, isExposePathVariables, prepareResponse, render, setAttributes, setAttributesCSV, setAttributesMap, setBeanName, setContentType, setExposeContextBeansAsAttributes, setExposedContextBeanNames, setExposePathVariables, setRequestContextAttribute, setResponseContentType, 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
フィールドの詳細
SPRING_MACRO_REQUEST_CONTEXT_ATTRIBUTE
テンプレートモデル内の RequestContext インスタンスの変数名。Spring のマクロで使用できます。たとえば、BindStatus オブジェクトの作成に使用できます。- 関連事項:
コンストラクターの詳細
AbstractTemplateView
public AbstractTemplateView()
メソッドの詳細
setExposeRequestAttributes
public void setExposeRequestAttributes(boolean exposeRequestAttributes) テンプレートとマージする前に、すべてのリクエスト属性をモデルに追加するかどうかを設定します。デフォルトは "false" です。一部のテンプレートでは、MVC モデルで公開されずに、FreeMarker などのようにリクエスト属性が独自に表示される場合があることに注意してください。
setAllowRequestOverride
public void setAllowRequestOverride(boolean allowRequestOverride) HttpServletRequest 属性が、同じ名前のコントローラー生成モデル属性をオーバーライド (非表示) できるかどうかを設定します。デフォルトは "false" で、モデル属性と同じ名前のリクエスト属性が見つかった場合に例外がスローされます。setExposeSessionAttributes
public void setExposeSessionAttributes(boolean exposeSessionAttributes) テンプレートとマージする前に、すべての HttpSession 属性をモデルに追加するかどうかを設定します。デフォルトは "false" です。setAllowSessionOverride
public void setAllowSessionOverride(boolean allowSessionOverride) HttpSession 属性が同じ名前のコントローラー生成モデル属性をオーバーライド(非表示)できるかどうかを設定します。デフォルトは "false" で、モデル属性と同じ名前のセッション属性が見つかった場合に例外がスローされます。setExposeSpringMacroHelpers
public void setExposeSpringMacroHelpers(boolean exposeSpringMacroHelpers) Spring のマクロライブラリで使用するために、RequestContext を "springMacroRequestContext" という名前で公開するかどうかを設定します。デフォルトは "true" です。現在、Spring の FreeMarker デフォルトマクロに必要です。これは、Spring ヘルパーマクロを利用する場合を除き、 HTML フォームを使用するテンプレートには必要ありません。
renderMergedOutputModel
protected final 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
- レンダリングに失敗した場合
applyContentType
"contentType" Bean プロパティで指定されたこのビューのコンテンツ型を、指定されたレスポンスに適用します。レスポンスにコンテンツ型が以前に設定されていない場合にのみ、ビューの contentType を適用します。これにより、ハンドラーはデフォルトのコンテンツ型を事前にオーバーライドできます。
- パラメーター:
response
- 現在の HTTP レスポンス- 関連事項:
renderMergedTemplateModel
protected abstract void renderMergedTemplateModel(MapSE<StringSE, ObjectSE> model, HttpServletRequestEE request, HttpServletResponseEE response) throws ExceptionSEビューを実際にレンダリングするには、サブクラスでこのメソッドを実装する必要があります。- パラメーター:
model
- 必要に応じてリクエスト属性とセッション属性がマージされた出力マップの組み合わせrequest
- 現在の HTTP リクエストresponse
- 現在の HTTP レスポンス- 例外:
ExceptionSE
- レンダリングに失敗した場合