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)