dedecms织梦内容管理系统    
首页 | java | C/C++ | PHP | 操作系统 | ajax | 脚本编程 | 安全技术 | 本站下载页 | flex | CRM | 专题 | QQ群 | 测试中心 | 会员中心 | 积分规则
  当前位置:主页>java>jsp>文章内容
JSP入门实例教程10-jstl国际化
来源: 作者:

有人会问了什么是国际化?国际化的含义是指将应用程序中那些随着地理区域的不同而不同的东西确定下来,并提供一些方法,使得在应用程序中可以根据情况使用这些东西的不同版本,而不是使用硬编码的值。这些的哦你喜可以是标签和消息,在线帮助文本,图像,日期和时间的格式,注意我们通常国家化的缩写是I18N,而不必拼写完整的“internationalization”单词。I18N意思是以I开头,中间18的字母,并以一个N结尾。

。比如说不同的语言访问同一个页面的时候,可以显示不同的国家的语言,那么其实这也是个国际化。方法是,在不同国家的浏览器的字符可能不同,通过自动验证浏览器字符,去找到响应的properties文件。这里我们主要介绍这种方式,虽然看起来很麻烦,但是使用jstl提供的一点都不麻烦。

但是网页不可能做200多个吧为了适应200种语言,那么对于一个大型的项目来说的代码的维护是多么的不利啊。所以我们就得想办法来解决这个问题,我们jsp已经给我们提供了一种定制标签ftm标签,我们这个标签就可以实现一个jsp网页的国际化。我先给大家讲一个国际化的小例子:

首先大家在tomcat的安装目录下webapps下创建一个jstlinter文件夹。里面放有一个WEB-INFindex.jsp,我们在WEB-INF目录下有前面我们所讲到的8tldlib文件夹里放入jstl.jarstandard.jar,这个两个jar包都是jstl那节所讲到的。还有web-xml。接下来我们讲讲各个包里的具体内容。在classes文件夹里的文件,我们先建立一个属性文件,属性文件的后缀名为properties。命名为rs.properties,然后进入DOS native2ascii -encoding gb2312 源文件 目标文件这就是转换为gb2312编码格式,编译成另一个属性文件rs_zh_CN.properties。我们用写字板将这个两个属性文件打开。里面都写入hello=hi {0}\!。这个讲在前台的index.jsp中使用。

与这俩个文件并列的还有个文件夹,我们双击进入这个org\apache\jsp文件夹下,我会发现一个.class文件。这就是tomcat容器已经给我生成好的文件。

web-xml里我们写入以下代码:

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"

    version="2.4">

 

  <taglib>

    <taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>

    <taglib-location>/WEB-INF/fmt.tld</taglib-location>

</taglib>

<taglib>

    <taglib-uri>http://java.sun.com/jstl/fmt-rt</taglib-uri>

    <taglib-location>/WEB-INF/fmt-rt.tld</taglib-location>

</taglib>

<taglib>

    <taglib-uri>http://java.sun.com/jstl/core</taglib-uri>

    <taglib-location>/WEB-INF/c.tld</taglib-location>

</taglib>

<taglib>

    <taglib-uri>http://java.sun.com/jstl/core-rt</taglib-uri>

    <taglib-location>/WEB-INF/c-rt.tld</taglib-location>

</taglib>

<taglib>

    <taglib-uri>http://java.sun.com/jstl/sql</taglib-uri>

    <taglib-location>/WEB-INF/sql.tld</taglib-location>

</taglib>

<taglib>

    <taglib-uri>http://java.sun.com/jstl/sql-rt</taglib-uri>

    <taglib-location>/WEB-INF/sql-rt.tld</taglib-location>

</taglib>

<taglib>

    <taglib-uri>http://java.sun.com/jstl/x</taglib-uri>

    <taglib-location>/WEB-INF/x.tld</taglib-location>

</taglib>

<taglib>

    <taglib-uri>http://java.sun.com/jstl/x-rt</taglib-uri>

    <taglib-location>/WEB-INF/x-rt.tld</taglib-location>

</taglib>

</web-app>

其实这段代码已经在jstl那节讲到了,这就不再重复了,就是为了配置jstl标签。

下面我们就可以在index.jsp里写入我们的代码了,代码如下:

<%@ page contentType="text/html;charset=utf-8" %>

<%@taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt_rt"%>

<%@taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%>

<!--设置消息资源文件为rs.properties-->

<fmt:setBundle  basename ="rs"  var ="rs"   />

<fmt:setBundle  basename ="rs1"  var ="rs1"   />

<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >

<html>

     <head>

         <title>jsp page</title>

     </head>

 

     <body>

jsp page

         <br />

<!制定消息的关键字和制定信息的使用文件-->

         <fmt:message  key ="hello"  bundle ="${rs}" >

             <fmt:param  value ="100jq"   />

         </fmt:message>

 

     </body>

</html>

我们具体讲一讲jstl为我们提供的ftm实现国际化的各个功能。
   <fmt:bundle> 功能:指定消息资源使用的文件

  <fmt:message>功能:显示消息资源文件中指定key的消息,支持带参数消息

  <fmt:param>  功能:给带参数的消息置参数值

  <fmt:setBundle> 功能:设置消息资源文件

 最后,你在浏览器里敲入http://localhost:8080/jstlinter/index.jsp 你会看到jsp page

hi 100jq!的字样说明你运行成功了 ,这也正根据我们的浏览器的中文字符而实现了国际化。

例子下载

这只是一个简单的例子,大家可以更深的研究。这里我就不详细讲了,希望大家能受到启发。下一节,我们讲一讲jsp如何处理xml文件。


上一篇:JSP入门实例教程11-jstl处理xml   下一篇:JSP入门实例教程9-jsp的权限设置
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·JSP入门实例教程
·什么是Servlet
·JSP常用内置对象使用说明
·JSP自定义标签由浅到深详细讲解
·JSP自定义标签由浅到深详细讲解
·Java Servlet技术
·Javax.servlet API的特征
·一个简单的jsp注册页面
·JSTL操作数据库示例
·JSP入门实例教程13-MVC模式
·JSP入门实例教程12-jstl处理数
·JSP入门实例教程11-jstl处理xml
  相关文章
·JSP入门实例教程11-jstl处理xml
·JSP入门实例教程9-jsp的权限设置
·JSP入门实例教程12-jstl处理数
·JSP入门实例教程8-jsp错误处理
·JSP入门实例教程13-MVC模式
·JSP入门实例教程7-JSTL+EL语言
·JSTL操作数据库示例
·JSP入门实例教程6-jsp自定义标签
·JSP入门实例教程5-简单的动作标
·JSP入门实例教程4-jsp内置对象
·JSP入门实例教程3-jsp基本语法
·JSP入门实例教程2(2)-jsp和servl
  相关信息
copy right @ 百家拳软件项目研究室 2007 辽ICP备07011763