クラス InternalResourceView
- 実装されているすべてのインターフェース:
- Aware、- BeanNameAware、- InitializingBean、- ApplicationContextAware、- ServletContextAware、- View
- 既知の直属サブクラス
- JstlView
RequestDispatcherEE を使用してリクエストを指定されたリソース URL に転送します。 このビューの URL は、RequestDispatcher の forward または include メソッドに適した、Web アプリケーション内のリソースを指定することになっています。
 すでに含まれているリクエスト内またはすでにコミットされているレスポンス内で動作している場合、このビューは転送ではなくインクルードにフォールバックします。これは、ビューをレンダリングする前に response.flushBuffer() (レスポンスをコミットする)を呼び出すことによって実施できます。
DispatcherServlet コンテキスト定義の観点から見ると、InternalResourceViewResolver の一般的な使用箇所は次のようになります。
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"/> </bean>ハンドラーから返されるすべてのビュー名は、デフォルトでこのビュークラスを使用して JSP リソース (例: "myView" → "/WEB-INF/jsp/myView.jsp") に変換されます。
- フィールドのサマリー- クラス 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
- コンストラクターの概要コンストラクターコンストラクター説明Bean として使用するコンストラクター。指定された URL で新しい InternalResourceView を作成します。- InternalResourceView- (StringSE url, boolean alwaysInclude) 指定された URL で新しい InternalResourceView を作成します。
- メソッドのサマリー修飾子と型メソッド説明- protected void- exposeHelpers- (HttpServletRequestEE request) 各レンダリング操作に固有のヘルパーを公開します。- protected RequestDispatcherEE- getRequestDispatcher- (HttpServletRequestEE request, StringSE path) フォワード / インクルードに使用する RequestDispatcher を取得します。- protected booleanApplicationContext は、InternalResourceView には厳密には必要ありません。- protected StringSE- prepareForRendering- (HttpServletRequestEE request, HttpServletResponseEE response) レンダリングの準備をし、転送する(または含める)リクエストディスパッチャーのパスを決定します。- protected void- renderMergedOutputModel- (MapSE<StringSE, - ObjectSE> model, HttpServletRequestEE request, HttpServletResponseEE response) 指定されたモデルの内部リソースをレンダリングします。- void- setAlwaysInclude- (boolean alwaysInclude) ビューに転送するのではなく、常にビューを含めるかどうかを指定します。- void- setPreventDispatchLoop- (boolean preventDispatchLoop) 現在のハンドラーパスへのディスパッチを明示的に禁止するかどうかを設定します。- protected boolean- useInclude- (HttpServletRequestEE request, HttpServletResponseEE response) RequestDispatcher の- includeまたは- forwardメソッドのどちらを使用するかを決定します。- クラス 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, setServletContext- クラス org.springframework.context.support.ApplicationObjectSupport から継承されたメソッド- getApplicationContext, getMessageSourceAccessor, initApplicationContext, obtainApplicationContext, requiredContextClass, setApplicationContext
- コンストラクターの詳細- InternalResourceViewpublic InternalResourceView()Bean として使用するコンストラクター。
- InternalResourceView指定された URL で新しい InternalResourceView を作成します。- パラメーター:
- url- 転送先の URL
- 関連事項:
 
- InternalResourceView指定された URL で新しい InternalResourceView を作成します。- パラメーター:
- url- 転送先の URL
- alwaysInclude- ビューに転送するのではなく、常にビューを含めるかどうか
 
 
- メソッドの詳細- setAlwaysIncludepublic void setAlwaysInclude- (boolean alwaysInclude) ビューに転送するのではなく、常にビューを含めるかどうかを指定します。- デフォルトは "false" です。転送が可能であっても、このフラグをオンにしてサーブレットインクルードの使用を強制します。 
- setPreventDispatchLooppublic void setPreventDispatchLoop- (boolean preventDispatchLoop) 現在のハンドラーパスへのディスパッチを明示的に禁止するかどうかを設定します。- デフォルトは "false" です。現在のハンドラーパスへのディスパッチが根本的なエラーである、コンベンショナルベースのビューの場合は、これを "true" に切り替えます。 
- isContextRequiredprotected boolean isContextRequired()ApplicationContext は、InternalResourceView には厳密には必要ありません。- オーバーライド:
-  クラス WebApplicationObjectSupportのisContextRequired
- 関連事項:
 
- renderMergedOutputModelprotected void renderMergedOutputModel- (MapSE<StringSE, - ObjectSE> model, HttpServletRequestEE request, HttpServletResponseEE response) throws ExceptionSE指定されたモデルの内部リソースをレンダリングします。これには、モデルをリクエスト属性として設定することが含まれます。- 次で指定:
-  クラス AbstractViewのrenderMergedOutputModel
- パラメーター:
- model- 静的な属性よりも動的な値が優先される、結合された出力マップ(非- null)
- request- 現在の HTTP リクエスト
- response- 現在の HTTP レスポンス
- 例外:
- ExceptionSE- レンダリングに失敗した場合
 
- exposeHelpers各レンダリング操作に固有のヘルパーを公開します。これは、異なるレンダリング操作が互いのコンテキストなどを上書きできないようにするために必要です。- renderMergedOutputModel(Map, HttpServletRequest, HttpServletResponse)によって呼び出されます。デフォルトの実装は空です。このメソッドをオーバーライドして、カスタムヘルパーをリクエスト属性として追加できます。- パラメーター:
- request- 現在の HTTP リクエスト
- 例外:
- ExceptionSE- 属性の追加中に致命的なエラーが発生した場合
- 関連事項:
 
- prepareForRenderingprotected StringSE prepareForRendering- (HttpServletRequestEE request, HttpServletResponseEE response) throws ExceptionSE レンダリングの準備をし、転送する(または含める)リクエストディスパッチャーのパスを決定します。- この実装は単に構成された URL を返します。サブクラスはこれをオーバーライドして、レンダリングするリソースを決定できます。通常は、URL を別の方法で解釈します。 - パラメーター:
- request- 現在の HTTP リクエスト
- response- 現在の HTTP レスポンス
- 戻り値:
- 使用するリクエストディスパッチャーパス
- 例外:
- ExceptionSE- 準備が失敗した場合
- 関連事項:
 
- getRequestDispatcher@Nullable protected RequestDispatcherEE getRequestDispatcher- (HttpServletRequestEE request, StringSE path) フォワード / インクルードに使用する RequestDispatcher を取得します。- デフォルトの実装では、単に - ServletRequest.getRequestDispatcher(String)EE を呼び出します。サブクラスでオーバーライドできます。- パラメーター:
- request- 現在の HTTP リクエスト
- path- ターゲット URL (- prepareForRendering(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse)から返される)
- 戻り値:
- 対応する RequestDispatcher
 
- useIncludeRequestDispatcher の- includeまたは- forwardメソッドのどちらを使用するかを決定します。- インクルードリクエストを示すインクルード URI 属性がリクエストに含まれているかどうか、およびレスポンスがすでにコミットされているかどうかのチェックを実行します。どちらの場合も、転送が不可能になるため、インクルードが実行されます。 - パラメーター:
- request- 現在の HTTP リクエスト
- response- 現在の HTTP レスポンス
- 戻り値:
-  インクルードには true、フォワードにはfalse
- 関連事項: