Spring MVC ResourceBundleViewResolverの例
Spring MVCでは、ResourceBundleViewResolverを使用して、「。properties」ファイル内のビューBeanに基づいて「ビュー名」を解決します。
デフォルトでは、ResourceBundleViewResolverは、プロジェクトクラスパスのルートにあるファイルviews.propertiesからビューBeanをロードします。 ただし、この場所は、たとえば、「basename」プロパティを介してオーバーライドできます。
上記の場合、プロジェクトクラスパスのルートにある「spring-views.properties」からビューBeanをロードします。
NoteResourceBundleViewResolverには、さまざまなロケールのさまざまなリソースバンドルからビュー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を通常のリソースバンドルスタイル(キーとメッセージ)として宣言します。ここで、
-
「WelcomePage」は一致するビュー名です。
-
「.(class)」はビューのタイプです。
-
「.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)