`
jiangduxi
  • 浏览: 456447 次
  • 性别: 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页面静态化(freemarker)教程及源码

    前台页面的静态化就有利于SEO,所以这个问题摆在了我的面前,在网上一搜,关于这方面的资料不是很多,又很杂,关于这方面的知识,越来或多的程序员将会碰到,原来项目中这部分静态化的功能主要由我来做的,现在我将...

    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信息化系统建设案例源码

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

Global site tag (gtag.js) - Google Analytics