Spring MVC ResourceBundleViewResolverの例
Spring MVCでは、
ResourceBundleViewResolver
は “.properties”ファイルのビューBeanに基づいて “view named”を解決するために使用されます。
デフォルトで、 `ResourceBundleViewResolver`は、プロジェクトクラスパスのルートにあるファイル
views.properties
からビューBeanをロードします。ただし、この場所は ”
basename
“プロパティで上書きすることができます。たとえば、
<beans ...> <bean class="org.springframework.web.servlet.view.ResourceBundleViewResolver"> <property name="basename" value="spring-views"/> </bean> </beans>
上記の場合、プロジェクトクラスパスのルートにある ”
spring-views.properties
“からビューBeanをロードします。
ResourceBundleViewResolverの使用例を示します。
1.コントローラー
コントローラクラスは、 ”
WelcomePage
“という名前のビューを返します。
….//…
public class WelcomeController extends AbstractController{
@Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
ModelAndView model = new ModelAndView("WelcomePage");
return model; } }
=== 2. ResourceBundleViewResolver Springのbean設定ファイルに `ResourceBundleViewResolver`を登録して、デフォルトのview beansの場所を" ** spring-views.properties ** "に変更してください。
<beans xmlns=”http://www.springframework.org/schema/beans”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd”>
;
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>
<!-- Register the bean --> <bean class="com.mkyong.common.controller.WelcomeController"/>
<bean class="org.springframework.web.servlet.view.ResourceBundleViewResolver"> <property name="basename" value="spring-views"/> </bean>
</beans>
=== 3. Beanを表示する 各ビューBeanを通常のリソース・バンドル・スタイル(キーとメッセージ)として宣言します。 . "** WelcomePage ** "は一致するビュー名です. . "** . (クラス)** "はビューのタイプです. . "** .url ** "はビューのURLの場所です. __File:spring-views.properties__
WelcomePage.(class)=org.springframework.web.servlet.view.JstlView
WelcomePage.url=/WEB-INF/pages/WelcomePage.jsp
** 注意** この `` spring-views.properties` "ファイルをプロジェクトのクラスパスに入れてください。 ** どのように動作するのですか?** コントローラによってビュー名 "** WelcomPage ** "が返されると、ResourceBundleViewResolverは "** spring-views.properties ** "ファイルの "WelcomPage ** "でキーの開始点を見つけ、対応するビューのURL "** /WEB-INF/pages/WelcomPage.jsp ** "をDispatcherServletに戻します。 === ソースコードをダウンロードする それをダウンロードしてください://wp-content/uploads/2010/08/SpringMVC-ResourceBundleViewResolver-Example.zip[SpringMVC- ResourceBundleViewResolver-Example.zip](7 KB) === リファレンス . http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/web/servlet/view/ResourceBundleViewResolver.html[ResourceBundleViewResolver ドキュメンテーション] link://tag/spring-mvc/[spring mvc]