`
jiangduxi
  • 浏览: 453191 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JSP中国际化问题

阅读更多
1.HTML中的字符实体
   HTML 中的字符实体和XML的语言保持一致,它定义了用特定的字符序列显示单字符的功能,这种字符序列成为字符实体,它以"&"开头,以";"结束.

2.Unicode
    Unicode字符标准是一个字符编码系统,它支持互相转换、处理和显示现在世界上用不同语言写的文本。Unicode由Unicode协会创建。
    在Java语言中,字符、字符串和标识符在内部使用16位的Unicode2.0字符集表示。Unicode使用"\uxxxx"表示一个字符,前256个Unicode字符和iso-8859-1标准的256个字符一致。
  
3.使用配置文件实现国际化
    下面看看property文件开发一个能显示多国语言的JSP页面。总共有一个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();

   Local 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( "Unknown Language" );
    }
    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.ENGISH" )|| 
                      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( "uni_property", locale );
   String localeCountry = locale.getCountry();
   String localLanguage = 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 = ISO8895-1" );
    }else if(localeLanguage == "CN"){
      response.setContentType( "text/html;charset = gb2312");
    }else if(localeLanguage == "TW"){
      response.setContentType( "text/html;charset = big5" )
    }
   %>
  <html>
  <head>
  <meta name = "GENERATOR" content="Micrsoft FromPage4.0">
  <meta name = "ProgId" content="FrontPage.Editor.Document">
  <title>Internationzational by propery file</title>
  <base target = "contents"><>
  </head>
  <body topmargin = "0" leftmargin = "0">
  <table border= "0" width= "796" style= "font-size:10pt" cellspacing= "0" cellpadding= "0" height= "60">
   <tr rowspan=5>
      <td colspan=3></td>
   </tr>
   <tr>
      <td></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>
  </body>
  </html>

此外在Web-inf目录下配置几个properties文件
默认配置文件(uni_property.properties)
username=JSPDeveloper
simplifiedChinese=SimplifiedChinese
traditionalChinese=TraditionalChinese
english=English

默认简体中文配置文件(uni_property_zh_CN.properties)
username=JSP\u5f00\u53d1\u8005
simplifiedChinese=\u7b80\u4f53\u4e2d\u6587
traditionalChinese=\u7e4\u4f53\u4e2d\u6587
english=\u82f1\u6587

默认繁体中文配置文件(uni_property_zh_TW.properties)
username=JSP\u5f00\u53d1\u8005
simplifiedChinese=\u7b80\u4f53\u4e2d\u6587
traditionalChinese=\u7e4\u4f53\u4e2d\u6587
english=\u82f1\u6587

默认英文配置文件(uni_property_en.properties)
username=JSP Developer
simplifiedChinese=SimplifiedChinese
traditionalChinese=TraditionalChinese
english=English
分享到:
评论

相关推荐

    jsp静态化,jsp静态化

    JSP(JavaServer Pages)静态化是一种常见的优化技术,主要目的是提高网站的访问速度和搜索引擎友好性。在动态网页系统中,JSP页面通常需要经过服务器端的解释和执行,然后将结果发送到客户端。这个过程对服务器资源...

    jsp格式化工具

    由MIT提供的js美化大师,可对jsp、html,js等进行格式化,比其他格式化工具效果都好。该工具为web应用,解压后打开index.html,将源码复制到格式化区域,点击ctrl+Enter,即可完成格式化。

    jsp办公自动化系统毕业设计(含源码+毕业论文)

    通过本项目的实践,学生不仅可以掌握JSP编程语言和相关框架的使用,还能理解OA系统的设计思想和开发流程,对于提升Web开发技能和解决实际问题的能力具有重要意义。同时,项目中的源码和论文可以作为参考资料,帮助...

    JSP 办公自动化系统源代码

    **JSP 办公自动化系统源代码** JSP(JavaServer Pages)是一种基于Java技术的动态网页开发技术,它允许开发者在HTML代码中嵌入Java代码,以实现服务器端的逻辑处理。在这个"办公自动化系统"中,JSP被用来构建用户...

    基于JSP的办公自动化系统

    版办公自动化系统&gt;(全套源码 安装即用) &lt;br&gt;本系统是一个完整的JSP应用项目,合适有初步JSP编程经验的朋友们提高和学习之用。 &lt;br&gt;系统含全套源码,合适朋友们在此基础上举一反三结合实际开发出优秀的JSP应用...

    在Struts 2.0中国际化处理

    本文将详细解析Struts 2.0中国际化处理的关键知识点,包括其核心概念、实现步骤以及一些实用技巧。 ### Struts 2.0 国际化的核心概念 **1. 资源文件**:Struts 2.0使用资源文件存储各种语言的文本信息,通常是以`....

    jsp论文格式化系统-毕业设计

    jsp论文格式化系统_毕业设计jsp论文格式化系统_毕业设计jsp论文格式化系统_毕业设计jsp论文格式化系统_毕业设计jsp论文格式化系统_毕业设计jsp论文格式化系统_毕业设计jsp论文格式化系统_毕业设计jsp论文格式化系统_...

    JSP页面静态化最普遍用的三种

    以下是JSP页面静态化最常用的三种方法的详细解释: 1. 模板替换法 这种方法是通过读取一个静态模板文件(如`template.htm`),然后使用Java代码动态替换其中的占位符,最终生成HTML文件。例如,`buildhtml.jsp`中的...

    Jsp+Servlet+Echarts实现动态数据可视化

    本教程将聚焦于使用JSP、Servlet和ECharts技术来实现动态数据可视化的具体过程和知识点。 首先,JSP(JavaServer Pages)是Java平台上的一种动态网页技术,它允许开发者在HTML代码中嵌入Java代码,从而实现服务器端...

    jsp办公自动化管理系统毕业设计全套

    jsp办公自动化管理系统毕业设计全套jsp办公自动化管理系统毕业设计全套jsp办公自动化管理系统毕业设计全套jsp办公自动化管理系统毕业设计全套jsp办公自动化管理系统毕业设计全套jsp办公自动化管理系统毕业设计全套...

    jsp静态化总结(jsp2html)

    **五、JSP静态化与动态化结合** 实际应用中,通常采用动静结合的方式,对不常变动的公共内容进行静态化,而动态内容则保持动态生成。这既能提高整体性能,又能保证信息的实时性。 总之,JSP静态化是提高网站性能的...

    jsp的页面静态化技术,很实用

    **JSP页面静态化技术详解** 在Web开发中,JavaServer Pages(JSP)是一种常见的动态网页技术,它允许开发者将HTML代码与Java代码混合编写,以实现动态内容的生成。然而,在高流量的网站中,为了提高性能和降低...

    jsp信息化系统建设案例

    安全方面,JSP系统需要防止SQL注入、XSS攻击等常见安全问题。使用预编译的PreparedStatement防止SQL注入,对用户输入进行过滤和校验。同时,设置合理的会话管理策略,如使用HTTPS加密传输,以及实施角色权限控制,...

    jsp做的企业自动化办公系统源码

    【JSP企业自动化办公系统源码详解】 JSP(JavaServer Pages)是一种基于Java技术的动态网页开发技术,常用于构建企业级Web应用程序,包括自动化办公系统。此系统旨在提高企业的运营效率,通过数字化手段实现日常...

    jsp问题处理集,解决大多数jsp的常见问题

    常见问题包括初始化参数配置错误、未正确处理请求或响应对象,以及对JSP到Servlet转换过程的误解。 6. **会话管理**: 在JSP中处理用户会话是常见的需求,但不当的会话管理可能导致内存泄漏、安全性问题或会话过期...

    jsp模板 jsp模板 jsp模板jsp模板jsp模板

    jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp模板jsp...

    JSP页面静态化

    包括使用freemarker和velocity两种技术来实现静态化。压缩包里面的文件有说明文档,说得很仔细,特别适合入门级别的人参考。还有freemarker和velocity开发所需要的jar包和插件。

    jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序

    jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序 jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序jsp web程序 jsp web程序jsp web程序...

    JSP信息化系统建设案例源码

    本案例“JSP信息化系统建设”提供了一个具体的应用实践,通过分析和学习这个案例,我们可以深入理解JSP在构建B/S(Browser/Server)架构系统中的应用。 1. **B/S架构**:B/S架构是基于浏览器和服务器的架构模式,...

Global site tag (gtag.js) - Google Analytics