public interface View
このクラスとそれに関連する MVC アプローチについては、Rod Johnson(Wrox、2002)による実践 J2EE システムデザインの第 12 章で説明されています。
ビューの実装は大きく異なる場合があります。明らかな実装は JSP ベースです。他の実装は XSLT ベースであるか、HTML 生成ライブラリを使用します。このインターフェースは、可能な実装の範囲を制限しないように設計されています。
ビューは Bean でなければなりません。それらは、ViewResolver によって Bean としてインスタンス化される可能性があります。このインターフェースはステートレスであるため、ビューの実装はスレッドセーフである必要があります。
AbstractView
, InternalResourceView
修飾子と型 | フィールドと説明 |
---|---|
static java.lang.String | PATH_VARIABLES パス変数を含むマップを含む HttpServletRequest EE 属性の名前。 |
static java.lang.String | RESPONSE_STATUS_ATTRIBUTE レスポンスステータスコードを含む HttpServletRequest EE 属性の名前。 |
static java.lang.String | SELECTED_CONTENT_TYPE コンテンツのネゴシエーション中に選択された MediaType 。これは、ビューが構成されているものよりも具体的である可能性があります。 |
修飾子と型 | メソッドと説明 |
---|---|
default java.lang.String | getContentType() 事前に定義されている場合は、ビューのコンテンツ型を返します。 |
void | render(java.util.Map<java.lang.String,?> model, HttpServletRequestEE request, HttpServletResponseEE response) 指定されたモデルを指定してビューをレンダリングします。 |
static final java.lang.String RESPONSE_STATUS_ATTRIBUTE
HttpServletRequest
EE 属性の名前。メモ: この属性は、すべての View 実装でサポートされる必要はありません。
static final java.lang.String PATH_VARIABLES
HttpServletRequest
EE 属性の名前。マップは、キーとしての文字列ベースの URI テンプレート変数名と、それに対応するオブジェクトベースの値(URL のセグメントから抽出され、変換された型)で構成されます。メモ: この属性は、すべての View 実装でサポートされる必要はありません。
static final java.lang.String SELECTED_CONTENT_TYPE
MediaType
。これは、ビューが構成されているものよりも具体的である可能性があります。例: "application/vnd.example-v1+xml" と "application/*+xml"。@Nullable default java.lang.String getContentType()
ビューのコンテンツ型を事前に、つまり実際にレンダリングを試行する前に確認するために使用できます。
null
void render(@Nullable java.util.Map<java.lang.String,?> model, HttpServletRequestEE request, HttpServletResponseEE response) throws java.lang.Exception
最初のステップは、リクエストの準備です。JSP の場合、これはモデルオブジェクトをリクエスト属性として設定することを意味します。2 番目のステップは、たとえば RequestDispatcher を介した JSP を含む、実際のビューのレンダリングです。
model
- キーとして文字列名、値として対応するモデルオブジェクトを持つマップ (空のモデルの場合、マップは null
にすることもできます)request
- 現在の HTTP リクエスト response
- 彼が作成している HTTP レスポンス java.lang.Exception
- レンダリングに失敗した場合