项目中使用JSTL,SpringMVC会把视图由InternalView转换为JstlView。
若使用Jstl的fmt标签,需要在SpringMVC的配置文件中配置国际化资源文件。
实现过程:
1.引入jstl.jar和standard.jar两个jar文件到classpath中。
2.在src目录下新建i18n.properties,内容如下:
i18n.username=Username i18n.password=Password
3.复制i18n.properties文件为i18n_zh_CN.properties,内容如下:
i18n.username=u7528u6237u540D i18n.password=u5BC6u7801
4.复制i18n.properties文件为i18n_en_US.properties,内容如下:
i18n.username=Username i18n.password=Password
5.在sprinvmvc.xml文件中添加国际化配置文件信息,内容如下:
View Code6.在success.jsp视图文件中添加fmt标签的内容如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous">
</head>
<body>
<h1>Hello SpringMVC View</h1>
time : ${requestScope.time}
<br>
<fmt:message key="i18n.username"></fmt:message>
<br>
<fmt:message key="i18n.password"></fmt:message>
<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script>
</body>
</html>
目录结构如下图:

测试视图index.jsp
<a href="helloworld">Hello World</a>
测试控制器代码:
package com.tiekui.springmvc.handlers;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class HelloWorld {
@RequestMapping("/helloworld")
public String hello(){
System.out.println("hello world");
return "success";
}
}
测试方法:
1) 初次将IE浏览器首选语言设置为中文
2)将IE浏览器的首先语言优先级调整为英文优先。
注意事项:如果发现返回的中文有乱码,需要将success.jsp的编码设置为UTF-8。
