1:在resources目录下创建文件名为messages.properties(找不到对应的语言默认显示该文件中的内容)的资源文件;
2:在resources目前下再创建以messages开头的您需要的语言资源文件,如:message_en_US.properties,messages_语言_国家简称.properties:
3:在文件中填入对应语言的内容:
4:点击超链接(中文)就显示中文,点击超链接(英文)就显示的代码如下:
前端代码:传一个参数给服务端,服务端根据参数值把界面渲染成相应的语言
服务端代码:
//实现区域信息对象接口,重写resovleLocale方法,自定义国际化语言
public class MyLocaleResolve implements LocaleResolver {
@Override
public Locale resolveLocale(HttpServletRequest httpServletRequest) {
//获取本地默认区域信息(填充的是messages.properties中的内容)
Locale locale = Locale.getDefault();
//获取前端传过来的参数
String l = httpServletRequest.getParameter("l");
if (!StringUtils.isEmpty(l)){
//截取字符串:zh_CN,s[0]获取语言代码,s[1]获取国家代码
String[] s = l.split("_");
//根据传过来的参数值渲染界面
locale = new Locale(s[0],s[1]);
}
return locale;
}
@Override
public void setLocale(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Locale locale) {
}
}
5 结果如下:
中文:由于我没有创建messages_zh_CN.properties文件,所以使用的是默认文件(messages.properties)
英语: