您的位置:首页 > 编程语言 > Java开发

spring mvc配置主题和国际化

2016-08-28 12:59 323 查看
在web.xml 中需要加上ContextLoaderListener的监听器,否则在解析jsp的时候会报找不到ApplicationContext的错误。</span>


<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-servlet.xml</param-value>
</context-param>
配置主题:把theme.properties 放到classpath根目录下 其中配置logo=imgs/logo

在jsp中先加上spring 的标签库

<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>


然后用
<spring:theme code='logo' />
即可取出logo的值

如果自定义的话,需要如下配置:

<!-- 默认主题-->
<bean id="themeResolver" class="org.springframework.web.servlet.theme.FixedThemeResolver">
<property name="defaultThemeName" value="theme2" />
</bean>
<!-- 国际化 -->
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <property name="basename" value="messages" /> </bean>
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/*"/>
<bean class="org.springframework.web.servlet.theme.ThemeChangeInterceptor">
<property name="paramName" value="theme" />
</bean>
</mvc:interceptor>
</mvc:interceptors>但是注意, 不能用jsp直接访问,因为必须要过过滤器,而jsp不会过过滤器。

配置国际化

在springmvc 配置文件中加上以下配置

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="messages" />
</bean>
即为引用前缀为messages的国际化配置文件 比如 messages_zh_CN.properties文件

然后在jsp中加上 

<spring:message code='logo' />
即可得到配置文件中logo的值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息