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)
リクエスト名に付与する接尾辞を設定する。
|
determineUrlsForHandler
detectHandlers, initApplicationContext, setDetectHandlersInAncestorContexts
buildPathExposingHandler, exposePathWithinMapping, exposeUriTemplateVariables, getHandlerInternal, getHandlerMap, getRootHandler, registerHandler, registerHandler, setLazyInitHandlers, setRootHandler, supportsTypeLevelMappings, validateHandler
adaptInterceptor, detectMappedInterceptors, extendInterceptors, getAdaptedInterceptors, getDefaultHandler, getHandler, getHandlerExecutionChain, getMappedInterceptors, getOrder, getPathMatcher, getUrlPathHelper, initInterceptors, setAlwaysUseFullPath, setDefaultHandler, setInterceptors, setOrder, setPathMatcher, setUrlDecode, setUrlPathHelper
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext
protected 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.AbstractUrlHandlerMapping
urlPath
- URLパスrequest
- HttpServletRequestException
public void afterPropertiesSet()
afterPropertiesSet
インタフェース内 org.springframework.beans.factory.InitializingBean
Copyright © 2014. All Rights Reserved.