クラス AbstractTemplateView

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

public abstract class AbstractTemplateView extends AbstractUrlBasedView
FreeMarker などのテンプレートベースのビューテクノロジーのアダプター基本クラス。モデルでリクエスト属性とセッション属性を使用する機能と、Spring の FreeMarker マクロライブラリのヘルパーオブジェクトを公開するオプション。

JSP/JSTL およびその他のビューテクノロジーは自動的に HttpServletRequest オブジェクトにアクセスし、現在のユーザーのリクエスト / セッション属性にアクセスします。さらに、ヘルパーオブジェクトをリクエスト属性として作成してキャッシュすることもできます。

導入:
1.0.2
作成者:
Juergen Hoeller, Darren Davison
関連事項:
  • フィールドの詳細

    • SPRING_MACRO_REQUEST_CONTEXT_ATTRIBUTE

      public static final StringSE SPRING_MACRO_REQUEST_CONTEXT_ATTRIBUTE
      テンプレートモデル内の RequestContext インスタンスの変数名。Spring のマクロで使用できます。BindStatus オブジェクトを作成します。
      関連事項:
  • コンストラクターの詳細

    • AbstractTemplateView

      public AbstractTemplateView()
  • メソッドの詳細

    • setExposeRequestAttributes

      public void setExposeRequestAttributes(boolean exposeRequestAttributes)
      テンプレートとマージする前に、すべてのリクエスト属性をモデルに追加するかどうかを設定します。デフォルトは "false" です。

      一部のテンプレートは、リクエスト属性を独自に可視化する場合があることに注意してください。FreeMarker、MVC モデルでの露出なし。

    • 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 を含む、実際のビューのレンダリングです。

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

      protected void applyContentType(HttpServletResponseEE response)
      "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 - レンダリングに失敗した場合