Spring MVC 1 资源文件 国际化

Spring MVC工程中,习惯于把视图文件(例如jsp)放在WEB-INF目录下。

静态资源引用
要引用静态资源,Spring MVC 提供了2种方式
<mvc:default-servlet-handler />  : 会将请求静态资源的URL,提交到Web容器处理。
<mvc:resources>: 由Spring MVC 自己映射静态资源

< mvc:resources   mapping = "/resources/**"   location =   "/static/, classpath:/META-INF/web-resources/"     />
jsp中可以这样引用
<%@   taglib   prefix = "c"   uri =   "http://java.sun.com/jsp/jstl/core"   %>
<c:set var= "ctx" value ="${pageContext.request.contextPath} "/>

  < head >
      < link   href= "${ctx}/resources/styles/default.css"   type = "text/css"   rel = "stylesheet"   />               
</ head >

国际化
Spring MVC 中的国际化由localeResolver定义,Spring MVC 会在上下文中查找名为localeResolver 的bean,找到后使用它来处理国际化。 

默认定义在 DispatcherServlet.properties中
org.springframework.web.servlet.LocaleResolver=  org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver

Spring 提供了3个Resolver和1个动态拦截器:
AcceptHeaderLocaleResolver : 根据HTTP报文头的Accept-Language参数确定
CookieLocalResolver:根据Cookie值确定
SessionLocalResolver:根据Session值确定
LocaleChangeInterceptor:从请求参数中获得,默认获得 locale参数值

常见用法是  LocaleChangeInterceptor 和  CookieLocalResolver 配合使用:
<!-- Configures Handler Interceptors -->
<mvc:interceptors>
<!-- Changes the locale when a 'locale' request parameter is sent; e.g. /?locale=de -->
<bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
</mvc:interceptors>
<!-- Saves a locale change using a cookie -->
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver" />

<!-- Application Message Bundle -->
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="/WEB-INF/messages/messages" />
<property name="cacheSeconds" value="0" />
               <property name=" fallbackToSystemLocale" value="true" />
</bean>

JSP中可以:
<spring:message code="welcome.title" var="title"/>

${title}

<a href="?locale=en_us">us</a>


转载于:https://my.oschina.net/Yaland/blog/424961

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值