国际化
来源:互联网 发布:修改mac地址 编辑:程序博客网 时间:2024/04/30 13:15
<!-- include.jsp-->
<%@page contentType="text/html; charset=UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<%@page import="java.util.*"%>
<%@ taglib uri="/tags/i18n" prefix="ses" %>
<%
//get request
String strlanguage = null;
String strFlag = request.getParameter("strFlag");
//temp url
String temp = request.getParameter("temp");
session.setAttribute("temp",temp);
//get language and set iefirst,iesecond
String str = request.getHeader("Accept-Language");
StringTokenizer stringtokenizer = new StringTokenizer(str, ",");
String iefirst = (String)stringtokenizer.nextToken();
String ieSecond = iefirst;
if( (String)session.getAttribute("IE") == null || !(((String)session.getAttribute("IE")).equals(ieSecond) )) {
session.setAttribute("IE",ieSecond);
strlanguage =(String)session.getAttribute("IE");
session.setAttribute("language",strlanguage);
}else{
//set session
if(strFlag != null){
session.setAttribute("language",strFlag);
}
//set locale
if ( (String)session.getValue("language") == null){
strlanguage = request.getHeader("Accept-Language");
}else{
strlanguage = (String) session.getAttribute("language");
}
}
//default language is "en"
if( (!strlanguage.equals("en")) && (!strlanguage.equals("ja")) && (!strlanguage.equals("zh"))){
strlanguage = "en";
}
//localize
%>
<ses:localize id="i18nId" bundle="homepage" locale='<%= strlanguage %>'/>
主要是使用session存储语言信息,页面得到的信息也不再从html中获得,而是从session中获得