1、首先在src文件下添加3个properties文件

  a、message.properties

 message.username=UserName
message.password=Password

  b、message_en.properties

 message.username=UserName
message.password=Password

  c、message_zh.properties

 message.username=\u7528\u6237\u540D
message.password=\u5BC6\u7801

2、配置spring-mvc.xml文件

 <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<!-- 指定文件基名 -->
<property name="basename" value="message"/>
<!-- 当没有找到资源文件时,用这基名文件 -->
<property name="useCodeAsDefaultMessage" value="true" />
</bean>

  这里配置属性userCodeAsDefaultMessage=true。意思当在其他语言区域里,没有找到对应的国际化文件。比如日语区、韩语区等。默认使用message.properties文件。当为false时,显示有问题。

3、配置Controller

 @Controller
public class UserController { @RequestMapping("/updateUser")
public String update(){ return "success";
} }

4、Jsp页面

  要做jsp页面中使用国际化信息。需要添加一个fmt标签。该标签在JSTL标签表中。添加方式

 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

  index.jsp

 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'hello.jsp' starting page</title>
</head> <body> <fmt:message key="message.username"/><input type="text" name="username" /><br/>
<fmt:message key="message.password"/><input type="text" name="password" /><br/>
</body>
</html>

  hello.jsp

 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'hello.jsp' starting page</title>
</head> <body> <fmt:message key="message.username"/><input type="text" name="username" /><br/>
<fmt:message key="message.password"/><input type="text" name="password" /><br/>
</body>
</html>

  我们通过url访问success.jsp页面。

  访问地址:http://localhost:8080/springmvc-1/updateUser

  我们访问index.jsp页面http://localhost:8080/springmvc-1

  结果出现这样的结果

为什么JSP页面都是一样的。为什么结果不一样呢?

  原因是index.jsp页面可以直接被访问到,而success.jsp页面在WEB-INF下面,不能够直接访问,需要通过servlet转发的方式才够访问。在SpringMVC中,DispatcherServlet前端控制器,拦截了所有请求,对http://localhost:8080/springmvc-1/updateUser访问。交个SpringMVC去处理。而在spring-mvc.xml配置了ResourceBundleMessageSource,所以在success页面中可以使用国际化信息。

  综上所述:要使用基于页面的国际化信息,需要使用转发的方式才能生效。

  

最新文章

  1. 浅谈Android应用保护(一):Android应用逆向的基本方法
  2. Android之Toolbar的三个问题:修改左边箭头颜色、怎样修改右边以及子activity中的toolbar添加返回箭头
  3. ajax 页面加载
  4. 【Android】用HandlerThread模拟AsyncTask功能(ThreadTask)
  5. 函数定义从零开始学C++之从C到C++(一):const与#define、结构体对齐、函数重载name mangling、new/delete 等
  6. BaseAdapter的ArrayIndexOutOfBoundsException
  7. String源码学习
  8. C++指针初始化总结
  9. Java http数据MD5、AES、DES加密
  10. 聊天系统Demo,增加Silverlight客户端(附源码)-- ESFramework 4.0 快速上手(09)
  11. python 标准库 -- shutil
  12. Hbase单机安装部署
  13. struts2中配置文件的调用顺序
  14. codeforces round #419 E. Karen and Supermarket
  15. win8 JDK环境变量不生效
  16. Android UI性能优化实战 识别绘制中的性能问题
  17. Fiddler和app抓包
  18. 使用windeployqt工具来进行Qt的打包发布
  19. koa2 get请求后台正常接收参数 前端报404错误
  20. [arc076F]Exhausted?[霍尔定理+线段树]

热门文章

  1. Animator &amp; Timeline
  2. 001----Mysql隔离级别
  3. Js 问题分析--js 影响页面性能
  4. AOP:静态代理实现方式①通过继承②通过接口
  5. ncnblogs.com的用户体验
  6. postion一句话很管用
  7. 福大软工1816:Beta总结
  8. DP---基本思想 具体实现 经典题目 POJ1160 POJ1037
  9. 获取Class实例的三种方式
  10. Snapseed玩出新高度,分分钟让你成p图大神! 转