Spring MVC ResourceBundleViewResolver配置示例

Spring MVC ResourceBundleViewResolver配置示例

https://howtodoinjava.com/spring-mvc/spring-mvc-resourcebundleviewresolver-configuration-example/

在先前的示例中,我们了解了XmlViewResolverInternalResourceViewResolver视图模板。 在这篇文章中,我们将学习ResourceBundleViewResolver模板。 ResourceBundleViewResolver从类路径根目录中的资源包中加载视图 bean。 请注意,ResourceBundleViewResolver还可以利用资源包功能从不同的资源包中为不同的区域加载视图 Bean(这对于其他两个视图解析器是不可能的)。

默认情况下,ResourceBundleViewResolver从存在的“ views.properties”文件中将视图名称加载到类路径中,但是可以通过基本名称属性覆盖此位置。

<bean class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
    <property name="basename" value="views" />
</bean>

views.properties资源包中,您可以以属性的格式声明视图 bean,并且它们的声明等效于XmlViewResolver示例中看到的 XML bean 声明。

<!--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-3.0.xsd">

    <bean id="home" class="org.springframework.web.servlet.view.JstlView">
        <property name="url" value="/WEB-INF/jsp/home.jsp" />
    </bean>

    <bean id="admin/home" class="org.springframework.web.servlet.view.JstlView">
        <property name="url" value="/WEB-INF/jsp/admin/home.jsp" />
    </bean>

    <bean id="logOffRedirect" class="org.springframework.web.servlet.view.RedirectView">
        <property name="url" value="home" />
    </bean>
</beans-->

//Equivalent resource bundle properites

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

adminHome.(class)=org.springframework.web.servlet.view.JstlView
adminHome.url=/WEB-INF/jsp/admin/home.jsp

logOffRedirect.(class)=org.springframework.web.servlet.view.RedirectView
logOffRedirect.url=home

通过上述配置,当控制器返回逻辑视图名称home时,ResourceBundleViewResolver将在views.properties文件中找到以home开头的密钥,并将相应视图的 URL 返回到DispatcherServlet,即/WEB-INF/jsp/home.jsp

如果有什么需要更多的解释的话,请问我。

祝您学习愉快!