开发工具:intellij idea2018.2;环境:springMVC
1、jar包
pom.xml部分代码
<!-- jstl相关jar包-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
2、spring-mvc.xml部分代码
<!-- 注解扫描 -->
<context:component-scan base-package="com.hys.**.action"/>
<!-- 使用mvc注解声明 -->
<mvc:annotation-driven/>
<!-- 处理静态资源(js,css,html) -->
<mvc:default-servlet-handler/>
<!-- 国际化配置start -->
<!-- 主要用于获取请求中的locale信息,将其转为Locale对像,获取LocaleResolver对象-->
<mvc:interceptors>
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"/>
</mvc:interceptors>
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<!-- 表示语言配置文件是以language开头的文件(language_zh_CN.properties)-->
<property name="basename" value="language"/>
<!-- 语言区域里没有找到对应的国际化文件时,默认使用language.properties文件-->
<property name="useCodeAsDefaultMessage" value="true" />
</bean>
<!-- 配置SessionLocaleResolver用于将Locale对象存储于Session中供后续使用 -->
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"/>
<!-- 国际化配置end -->
3、创建国际化文件
右击resources资源文件new》Resource Bundle
4、测试页面
java代码:
package com.hys.userlogin.action;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class UserLoginAction {
@RequestMapping(value = "/submitLogin")
public String submitLogin() {
return "index";
}
}
index.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%--<fmt:message key="messages.username"/>--%>
<fmt:message key="language.username"/>:<input type="text" name="username"/><br/>
<fmt:message key="language.password"/>:<input type="text" name="password"/><br/>
Language:
<a href="?locale=zh_CN">中文</a>
<a href="?locale=en_US">英文</a><br/>
当前语言: ${pageContext.response.locale}
</body>
</html>
测试结果: