在这里面使用JSP来利用property文件应用的一个能显示多国语言的页面, 仅一个JSP和4个properties配置文件 <% @ 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.equals("Locale.SIMPLIFIED_CHINESE") || language.equals( "Locale.SIMPLIFIED_CHINESE")){ locale = Locale.SIMPLIFIED_CHINESE; charset = "gb2312"; }else if (language.equals( "Locale.TRADITIONAL_CHINESE") || language.equals( "Locale.TRADITIONAL_CHINESE")){ locale = Locale.TRADITIONAL_CHINESE; charset = "big5"; }else if (language.equals( "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("propertyFiles/uni_property",locale);//资源文件放在propertyFiles包下String localeCountry = locale.getCountry();String localeLanguage = locale.getLanguage();System.out.println("locale:"+locale.toString());System.out.println("localeCountry:"+localeCountry);System.out.println("localeLanguage:"+localeLanguage);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 > Internationzational by propery file </ title > < base target ="contents" > </ head > < body > < table border ="0" width ="796" style ="font-size: 10pt" cellspacing ="0" cellpadding ="0" height ="60" > < tr rowspan =5 >< td colspan =3 > </ td ></ tr > < tr rowspan =5 >< td colspan =3 > </ td ></ tr > < tr > < td width ="196" height ="68" ></ td > < td width ="470" height ="64" > < p align ="center" >< a href ="#" onclick ="href='uni_property.jsp?language=Locale.SIMPLIFIED_CHINESE'" > <% = messagesBundle.getString( " simplifiedChinese " ) %> </ a > | < a href ="#" onclick ="href='uni_property.jsp?language=Locale.TRADITIONAL_CHINESE'" > <% = messagesBundle.getString( " traditionalChinese " ) %> </ a > | < a href ="#" onclick ="href='uni_property.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 > 四个资源文件如下 #uni_property.propertiesusername=JSP DevelopersimplifiedChinese=SimplifiedChinesetraditionalChinese=TraditionalChineseenglish=English #uni_property_en.propertiesusername=JSP DevelopersimplifiedChinese=SimplifiedChinesetraditionalChinese=TraditionalChineseenglish=English #uni_property_zh_CN.propertiesusername=JSP\u5f00\u53d1\u8005simplifiedChinese=\u7b80\u4f53\u4e2d\u6587traditionalChinese=\u7e41\u4f53\u4e2d\u6587english=\u82f1\u6587 #uni_property_zh_TW.propertiesusername=JSP\u958b\u767c\u8005simplifiedChinese=\u7c21\u9ad4\u4e2d\u6587traditionalChinese=\u7e41\u9ad4\u4e2d\u6587english=\u82f1\u6587 在同连接上单击会出现不同语言界面,另外需要注意的是 ResourceBundle messagesBundle = ResourceBundle.getBundle( " propertyFiles/uni_property " ,locale); // 资源文件放在propertyFiles包下 该方法查找的起始位置为默认的包,也就是没有名字的包,我们这里放属性文件放在propertyFiles包下,所以为propertyFiles/ 另外在属性文件中使用的是Unicode编码,它支持互相转换,处理和显示现在世界上用不同语言写的文本。