欢迎光临
我们一直在努力

~~~用properties文件实现国际化与本地化的一个小例子~~~-JSP教程,Java技巧及代码

建站超值云服务器,限时71元/月

jsp源文件如下:

<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.awt.*" %>

<%
string languagedefault = locale.getdefault().getlanguage();
string countrydefault = locale.getdefault().getcountry();

locale defaultlocale = null;
string charset = null;
if (languagedefault == "en" || languagedefault.equals("en")){
        defaultlocale = locale.english;
        charset = "iso-8859-1";
}else if (countrydefault == "cn" || countrydefault.equals("cn")){
        defaultlocale = locale.simplified_chinese;
        charset = "gb2312";
}else if (countrydefault == "tw" || countrydefault.equals("tw")){
        defaultlocale = locale.traditional_chinese;
        charset = "big5";
}else{
        system.out.println("languagedefault not equals en.countrydefault not equals tw or cn");
}

if (session.isnew()){
        session.setattribute("locale",defaultlocale);
        session.setattribute("charset",charset);
}else{
        string language = request.getparameter("language");
        if (language == null || language.equals(null)){
                session.setattribute("locale",defaultlocale);
                session.setattribute("charset",charset);
        }else{
                locale locale = null;
                if (language == "locale.simplified_chinese" || language.equals( "locale.simplified_chinese")){
                        locale = locale.simplified_chinese;
                        charset = "gb2312";
                }else if (language == "locale.traditional_chinese" || language.equals( "locale.traditional_chinese")){
                        locale = locale.traditional_chinese;
                        charset = "big5";
                }else if (language == "locale.english" || language.equals( "locale.english")){
                        locale = locale.english;
                        charset = "iso-8859-1";
                }
                session.setattribute("locale",locale);
                session.setattribute("charset",charset);
        }
}

locale locale = (locale)session.getattribute("locale");
resourcebundle messagesbundle = resourcebundle.getbundle("fulltextsearch.messagesbundle",locale);
string localecountry = locale.getcountry();
string localelanguage = locale.getlanguage();

if(localelanguage == "en"){
        response.setcontenttype("text/html; charset=iso8859-1 ");
}else if (localecountry == "cn"){
        response.setcontenttype("text/html; charset=gb2312");
}else if(localecountry == "tw"){
        response.setcontenttype("text/html; charset=big5");
}
%>

<html>
<head>
<meta name="generator" content="microsoft frontpage 4.0">
<meta name="progid" content="frontpage.editor.document">
<title>top</title>
<base target="contents">
</head>
<body topmargin="0" leftmargin="0" background="../images/leftbg.gif">

<table border="0" width="796" style="font-size: 10pt" cellspacing="0" cellpadding="0" height="60">
  <tr>
    <td width="196" height="68"><img border="0" src="../images/cmlogo.gif" width="196" height="68"></td>
    <td width="470" height="64">
      <p align="center"><a href="#" onclick="href=testmulti.jsp?language=locale.simplified_chinese"><%=messagesbundle.getstring("simplifiedchinese")%></a> | <a href="#" onclick="href=testmulti.jsp?language=locale.traditional_chinese"><%=messagesbundle.getstring("traditionalchinese")%></a> | <a href="#" onclick="href=testmulti.jsp?language=locale.english"><%=messagesbundle.getstring("english")%></a></td>
    <td width="130" height="56">
      <p align="center">
                <%=messagesbundle.getstring("username")%>
        </td>
  </tr>
</table>
</body>
</html>

属性文件如下(英文,简体中文,繁体中文,默认)(放在包fulltextsearch下面)
messagesbundle_en.properties
username=administrator
simplifiedchinese=simplifiedchinese
traditionalchinese=traditionalchinese
english=english

messagesbundle_zh_cn.properties
username=\u7cfb\u7edf\u7ba1\u7406\u5458
simplifiedchinese=\u7b80\u4f53\u4e2d\u6587
traditionalchinese=\u7e41\u4f53\u4e2d\u6587
english=\u82f1\u6587

messagesbundle_zh_tw.properties
username=\u7cfb\u7d71\u7ba1\u7406\u54e1
simplifiedchinese=\u7c21\u9ad4\u4e2d\u6587
traditionalchinese=\u7e41\u9ad4\u4e2d\u6587
english=\u82f1\u6587

messagesbundle.properties
username=administrator
simplifiedchinese=simplifiedchinese
traditionalchinese=traditionalchinese
english=english

备注:
汉字转换为ascii码用命令:native2ascii.exe
本程序可以正常运行~~~

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » ~~~用properties文件实现国际化与本地化的一个小例子~~~-JSP教程,Java技巧及代码
分享到: 更多 (0)