Spring MVC 基於session 國際化配置!! 親測可用
今天要做網站的國際化 包括頁面 和 資料庫層面
下午找了些網上例子 都不大能用,參考了幾篇文章 綜合下 終於找到個解決方案
1 配置檔案 兩處增加
a dispatcherServlet.xml 檔案 這個就是spring-mvc.xml
<!-- 國際化文字 -->
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="message_info" />
<property name="useCodeAsDefaultMessage" value="true" />
</bean>
b applicationContext.xml
增加
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
<property name="defaultLocale" value="zh_CN"></property>
</bean>
2 .控制器層面
@RequestMapping(value = "welcome", method = RequestMethod.GET)
public String welcomeNew(HttpServletRequest request, HttpServletResponse response,String locale) {
List<RevitNewEntity> hotRevitList = revitNewEntityService.getHotRevit();
request.setAttribute("hotRevitList", hotRevitList);
List<RevitAddInShowDto> nowDownList = revitNewEntityService.getDownLoadNowRevit();
request.setAttribute("nowDownList", nowDownList);
String langType = locale;
if(langType==null||langType.equals("")){
return "/index";
}else{
if (langType.equals("zh")) {
Locale locale1 = new Locale("zh", "CN");
request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME, locale1);
} else if (langType.equals("en")) {
Locale locale1 = new Locale("en", "US");
request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME, locale1);
} else {
request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME, LocaleContextHolder.getLocale());
}
}
return "/index";
}
3 .url 觸發操作 http://localhost:8080/revitbus/welcome.html?locale=en
或者 http://localhost:8080/revitbus/welcome.html?locale=zh
4 .資原始檔路徑如下
測試資原始檔內容如下: message_info_en_US.properties
main.title=Hello World!
title=SpringMVC
username=username
password=password
password2=password2
submit=submit
welcome=welcome
title=SpringMVC\u5B9E\u4F8B
username=\u8F93\u5165\u7528\u6237\u540D\:
password=\u8F93\u5165\u5BC6\u7801\:
5 jsp 內容寫法 有兩種 匯入庫 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%-- <%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> --%>
資源內容顯示: <fmt:message key="title"></fmt:message>
<%-- <spring:message code="welcome"></spring:message> --%>
註釋放開關閉另一個也是可以的 效果圖 內容可以和上面資原始檔對照 這個中文
英文
參考文章:http://www.tuicool.com/articles/jA3yEvZ http://www.xdemo.org/spring-i18n/
http://www.boydavid.com/?post=57 表示感謝