文档章节

Spring MVC 1 资源文件 国际化

fokYaland
 fokYaland
发布于 2015/06/04 17:27
字数 333
阅读 29
收藏 0
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>


本文转载自:http://blog.csdn.net/yanliang1/article/details/12289305

fokYaland
粉丝 4
博文 68
码字总数 3062
作品 0
东城
私信 提问
Spring Boot国际化支持

本章将讲解如何在Spring Boot和Thymeleaf中做页面模板国际化的支持,根据系统语言环境或者session中的语言来自动读取不同环境中的文字。 国际化自动配置 Spring Boot中已经对国际化这一块做了...

java技术栈
2017/11/14
0
0
Spring Boot国际化开发实战

本章将讲解如何在Spring Boot和Thymeleaf中做页面模板国际化的支持,根据系统语言环境或者session中的语言来自动读取不同环境中的文字。 国际化自动配置 Spring Boot中已经对国际化这一块做了...

Java技术栈
2018/06/08
0
0
说说在 Spring 中如何国际化信息

1 MessageSource Spring 定义了 MessageSource 接口,用于访问国际化信息。 getMessage(String code, Object[] args, String defaultMessage, Locale locale) getMessage(String code, Objec......

deniro
2018/05/27
0
0
基于SpringMVC国际化资源配置方式

基于SpringMVC国际化资源配置方式。 1.首先需要在spring-mvc-servlet.xml 中配置拦截器; 2.如果要浏览器自适应语言方式(cookie方式):还需要在spring-mvn-servlet.xml 中配置: 2.1 2.2....

Ryan-瑞恩
2015/06/16
0
5
1:spring mvc 概述

什么是mvc 什么是spring mvc Spring MVC 是一种基于 Java 的实现了 Web MVC 设计模式的请求驱动类型的轻量级 Web 框架, 即使用了MVC 架构模式的思想,将 web 层进行职责解耦, 基于请求驱动...

小杰java
2017/10/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

多线程同时加载缓存实现

import com.google.common.cache.Cache;import com.google.common.cache.CacheBuilder;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorServi......

暗中观察
7分钟前
0
0
解决Windows和Ubuntu时间不一致的问题

解决Windows和Ubuntu时间不一致的问题 问题原因是使用的时间不一致导致的。win10直接从bios读出来的时间认为就是实际时间,ubuntu认为加上8个小时 后的才是。win10用的rtc ,ubuntu用的utc 在...

shzwork
10分钟前
0
0
mysql mysql三种插入数据语句和增删改方法

点开题目是不是有点懵X,因为你只知道insert...values这一种,重来没有听说过三种,现在来介绍一下。 插入数据三种方式: insert into 表名(字段名) values(插入值); 最常用的插入语句 inse...

edison_kwok
11分钟前
0
0
利用VisualVM 内存查看

准备工作,建几个测试类。等下就是要查看这几个类里面的属性 package visualvm;public class MultiObject { private String str; private int i; MultiObject(String str...

冷基
23分钟前
0
0
组装一台工作游戏两用机

一、配置清单如下: 分类 项目 价格(元) 主板 华硕(ASUS)TUF Z370-PLUS GAMING II 电竞特工 Z370二代 支持9代CPU 1049 CPU 英特尔(Intel) i7 8700K 酷睿六核 盒装CPU处理器 2640 风扇 九...

mbzhong
29分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部