ひよこの外部記憶

めもおきば

SimpleUrlHandlerMappingとInternalResourceViewResolver

参考:Springによるアプリケーションスーパーサンプル

数日前の記事
HandlerMappingとViewResolver - ura_raの日記において

DispacherServletの定義ファイルにHandlerMappingとViewResolverの定義を書かなかった時に呼ばれるデフォルトクラスについて書いたが、定義する場合のクラスについて書く。

SimpleUrlHandlerMapping

デフォルトのままではbean定義それぞれにname属性を書かなければならないがSimpleUrlHandlerMappingクラスを使用するとHandlerMappingの欄一か所で管理できるようになる

	<bean id="handlerMapping"
		class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
		<property name="mappings">
			<value>
				/index.html=indexController
				/detail.html=detailController
			</value>
		</property>
	</bean>

InternalResourceViewResolver

prefix,suffixを用いてModelandViewにセットする名前を(少し)省略できる。

	<bean id="internalResourceViewResolver"
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="viewClass">
			<value>org.springframework.web.servlet.view.JstlView</value>
		</property>
		<property name="prefix">
			<value>WEB-INF/jsp/</value>
		</property>
		<property name="suffix">
			<value>.jsp</value>
		</property>
	</bean>

とすると、Controllerで

modelAndView.setViewName("index");

と書けるようになる。