public class BeanNameUrlHandlerMappingEx
extends org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping
implements org.springframework.beans.factory.InitializingBean
DispacherServletより実行され、 制御情報のリクエスト名とあらかじめ定義した接頭辞・接尾辞を結合した文字列をBean名として、 DIコンテナよりリクエストコントローラの取得を行い、返却する。 DispacherServletは、返却されたリクエストコントローラを実行する。
本クラスを利用する場合、本クラスのBean定義を行うこと。 また、以下のプロパティを必ず設定すること。
| 属性名 | 説明 |
|---|---|
| ctxSupport | リクエスト名を取得するためのサポートロジッククラス。 |
| prefix | リクエスト名に付与する接頭辞。 |
| suffix | リクエスト名に付与する接尾辞。 |
| defaultHandler | リクエスト名に対応するコントローラが存在しない場合のコントローラ。 |
【Bean定義ファイルの設定例】
<bean id="defaultHandlerMapping"
class="jp.terasoluna.fw.web.rich.springmvc.servlet.handler.BeanNameUrlHandlerMappingEx">
<property name="ctxSupport" ref="ctxSupport"/>
<property name="prefix" value="/secure/blogic/"/>
<property name="suffix" value=".do"/>
<property name="defaultHandler" ref="unknownRequestNameController"/>
</bean>
※ ctxSupportは、 制御情報を扱うサポートロジックのBean定義。
※ unknownRequestNameControllerは、リクエスト名に対応するコントローラが存在しない場合に実行されるコントローラのBean定義。
上記の設定を行った場合、 たとえば、リクエスト名が「sum」だった場合、 DIコンテナより「/secure/blogic/sum.do」という名称のBeanを取得し、返却する。 ただし、Beanを取得できなかった(存在しなかった)場合は、 「unknownRequestNameController」という名称の BeanをDIコンテナより取得し、返却する。 (Beanを取得できなかった場合の詳細は、UnkownRequestNameControllerを参照のこと。)
| 修飾子とタイプ | フィールドと説明 |
|---|---|
protected RequestContextSupport |
ctxSupport
制御情報サポートロジッククラス。
|
protected String |
prefix
リクエスト名に付与する接頭辞。
|
protected String |
suffix
リクエスト名に付与する接尾辞。
|
| コンストラクタと説明 |
|---|
BeanNameUrlHandlerMappingEx() |
| 修飾子とタイプ | メソッドと説明 |
|---|---|
void |
afterPropertiesSet()
本クラスがインスタンス化された直後に呼ばれるメソッド。
|
protected Object |
lookupHandler(String urlPath,
javax.servlet.http.HttpServletRequest request)
リクエスト名をもとに、リクエストコントローラのインスタンスをルックアップする。
|
void |
setCtxSupport(RequestContextSupport ctxSupport)
制御情報サポートロジッククラスを設定する。
|
void |
setPrefix(String prefix)
リクエスト名に付与する接頭辞を設定する。
|
void |
setSuffix(String suffix)
リクエスト名に付与する接尾辞を設定する。
|
determineUrlsForHandlerdetectHandlers, initApplicationContext, setDetectHandlersInAncestorContextsbuildPathExposingHandler, exposePathWithinMapping, exposeUriTemplateVariables, getHandlerInternal, getHandlerMap, getRootHandler, registerHandler, registerHandler, setLazyInitHandlers, setRootHandler, supportsTypeLevelMappings, validateHandleradaptInterceptor, detectMappedInterceptors, extendInterceptors, getAdaptedInterceptors, getDefaultHandler, getHandler, getHandlerExecutionChain, getMappedInterceptors, getOrder, getPathMatcher, getUrlPathHelper, initInterceptors, setAlwaysUseFullPath, setDefaultHandler, setInterceptors, setOrder, setPathMatcher, setRemoveSemicolonContent, setUrlDecode, setUrlPathHelpergetServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContextprotected RequestContextSupport ctxSupport
protected String prefix
protected String suffix
public void setPrefix(String prefix)
prefix - リクエスト名に付与する接頭辞。public void setSuffix(String suffix)
suffix - リクエスト名に付与する接尾辞。public void setCtxSupport(RequestContextSupport ctxSupport)
ctxSupport - 制御情報サポートロジッククラスprotected Object lookupHandler(String urlPath, javax.servlet.http.HttpServletRequest request) throws Exception
lookupHandler クラス内 org.springframework.web.servlet.handler.AbstractUrlHandlerMappingurlPath - URLパスrequest - HttpServletRequestExceptionpublic void afterPropertiesSet()
afterPropertiesSet インタフェース内 org.springframework.beans.factory.InitializingBeanCopyright © 2015. All Rights Reserved.