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");
と書けるようになる。