国际化

来源:互联网 发布:修改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中获得

原创粉丝点击