Spring MVC ResourceBundleViewResolverの例

Spring MVC ResourceBundleViewResolverの例

Spring MVCでは、ResourceBundleViewResolverを使用して、「。properties」ファイル内のビューBeanに基づいて「ビュー名」を解決します。

デフォルトでは、ResourceBundleViewResolverは、プロジェクトクラスパスのルートにあるファイルviews.propertiesからビューBeanをロードします。 ただし、この場所は、たとえば、「basename」プロパティを介してオーバーライドできます。


    
        
    

上記の場合、プロジェクトクラスパスのルートにある「spring-views.properties」からビューBeanをロードします。

Note
ResourceBundleViewResolverには、さまざまなロケールのさまざまなリソースバンドルからビュー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を登録し、デフォルトのビューBeanの場所を「spring-views.properties」に変更します。



  

    
    

    
        
    

3. 豆を見る

各ビューBeanを通常のリソースバンドルスタイル(キーとメッセージ)として宣言します。ここで、

  1. WelcomePage」は一致するビュー名です。

  2. .(class)」はビューのタイプです。

  3. .url」はビューのURLの場所です。

ファイル:spring-views.properties

WelcomePage.(class)=org.springframework.web.servlet.view.JstlView
WelcomePage.url=/WEB-INF/pages/WelcomePage.jsp

Note
この「spring-views.properties」ファイルをプロジェクトのクラスパスに配置します。

How it works ?
ビュー名「WelcomPage」がコントローラーから返されると、ResourceBundleViewResolverは「spring-views.properties」ファイルで「WelcomPage」で始まるキーを見つけます。対応するビューのURL「/WEB-INF/pages/WelcomPage.jsp」をDispatcherServletに返します。

ソースコードをダウンロード

ダウンロード–SpringMVC-ResourceBundleViewResolver-Example.zip(7 KB)