`
gongmingwind
  • 浏览: 588434 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

jstl 对国际化i18n的支持

阅读更多
下面是我转自:http://spaceflysky-163-com.iteye.com/blog/241238
的文章,在此对他表示感谢


1)导入jstl 包,加载ftm标签

首先将jstl的jar包放入类库中,使用1.2版本

其次在jsp文件中引入所需要的 标记库,对于 ftm 标签,如下:
<%@ taglib prefix='fmt' uri="http://java.sun.com/jsp/jstl/fmt" %> 


2)输出 .properties 文件中的信息
 <fmt:bundle basename="fmt">  
     test value:<fmt:message key="test" />  
 </fmt:bundle> 


其中 <fmt:bundle basename="fmt"> 指定了资源文件的位置,例如: fmt 表示类根路径下的 fmt.properties 文件,my.fmt 表示 包my下的ftm.properties文件;



<fmt:message key="test" />表示读取 key为test的值,并输出;

问题:
现在jstl是可以输出.properties中的文件了,但是怎样根据不同的Local输出不同的内容呢??

补充说明:
我参考了jstl下载包中standard-examples.war中的例子,找到了设置方法:

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

<html>
<head>
  <title>JSTL: Formatting/I18N Support -- Italian Locale Example</title>
</head>
<body bgcolor="#FFFFFF">
<h3>Italian Locale</h3>

<fmt:setLocale value="it_IT"/>
<fmt:setBundle basename="org.apache.taglibs.standard.examples.i18n.Resources" var="itBundle" scope="page"/>
<fmt:message key="greetingMorning" bundle="${itBundle}"/>

</body>
</html>

关键的一句:
<fmt:setLocale value="it_IT"/>


3)给出1个例子,包含许多标签的使用
fmt.jsp:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix='c' uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix='fmt' uri="http://java.sun.com/jsp/jstl/fmt" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	<style type="text/css">
		body {background-color: black;color: white;}
		span {text-align: center;color: green;background-color: yellow;}
		.notice {color: rgb(250,37,62);}
		hr { background-color: fuchsia; height: 5px;}
	</style>
  </head>
  
  <body>
  	<fmt:bundle basename="jstl.jstl">
  		<span>从 .properties 文件中读取最简单的信息输出:</span>
  		<fmt:message key="basemsg" />
  		<hr/>
  		<span>从 .properties 文件中读取带有可填参数的信息,填入参数并输出:</span>
  		<fmt:message key="msgwithparam">
  			<span class="notice"><fmt:param value="param-1-value" />
  			<span class="notice"><fmt:param value="param-2-value" />
  		</fmt:message>
  		<hr/>
  		<span>数字 格式化并输出:</span><br/>
  		数字:<fmt:formatNumber value="1234567890" type="number"/><br/>
  		<!-- 定制数字格式时,# 表示按照默认格式来, -->
  		数字,定制了格式:<fmt:formatNumber value="1234567890" type="number" pattern="#,#00.0#" /><br/>
  		货币:<fmt:formatNumber value="35000" type="currency" /><br/>
  		百分比:<fmt:formatNumber value="0.317" type="percent" /><br/>
  		<hr/>
  		<span>格式化日期:</span><br/>
  		<jsp:useBean id="now" class="java.util.Date"></jsp:useBean>
  		<fmt:formatDate  value="${now}" type="date" /><br/>
  		<fmt:formatDate  value="${now}" type="both" dateStyle="long" timeStyle="long" /><br/>
  		<fmt:formatDate  value="${now}" type="both" pattern="yyyy.MM.dd HH:mm:ss" /><br/>
  		<hr/>
  		<span>将字符串转化到正确的数字:<br/>
  		忽略第一个不符合数字条件的字符和其之后的所有字符,如果字符串不是以数字开头则报错</span><br/>
  		<fmt:parseNumber type="number" >123.02a</fmt:parseNumber><br/>
  		<fmt:parseNumber type="number" pattern="#,#00.0#">123</fmt:parseNumber><br/>
  		<fmt:parseNumber type="number" pattern="#,#00.0#">123.00a1</fmt:parseNumber><br/>
  		<fmt:parseNumber type="number" pattern="#,#00.0#">3saaa</fmt:parseNumber><br/>
  		
  	</fmt:bundle>
	  	
  </body>
</html>


jstl 包下的 jstl.properties 文件:
#for jstl learn
basemsg=This is a base msg.
msgwithparam=This is a msg with params:first <font color="red">{0}</font> second <font color="aqua"> {1}</font> . 
分享到:
评论

相关推荐

    jsp国际化 i18n列子

    在这个特定的例子中,我们关注的是`JSP`的`国际化(i18n)`应用。`i18n`是`internationalization`的缩写,意指软件或网站的设计和开发考虑到全球不同地区的用户需求,支持多种语言和文化环境。 `JSP`的`国际化`主要...

    web开发常用的东东备份-国际化i18n

    7. **JSTL i18n支持**:JavaServer Pages Standard Tag Library (JSTL) 提供了对i18n的良好支持,例如`fmt`标签库可以方便地进行日期、数字和消息的格式化。 8. **Spring框架的支持**:Spring框架提供了强大的国际...

    关于国际化I18n的事例

    国际化(I18n)是软件开发中的一个重要概念,它涉及到如何使软件产品能够适应不同地区的语言、文化和社会规范。I18n这个名字来源于“internationalization”,其中“i”和“n”之间有18个字母,因此得名。这个过程...

    JSTL_I18N实例

    本实例主要关注的是JSTL中的I18N支持。 在Web应用程序中,**I18N(国际化)**是指设计和实现能够适应不同地区和语言的系统能力。这通常涉及到使用资源文件来存储特定语言的文本和格式,以便根据用户的地域设置动态...

    使用taglibs-i18n进行国际化处理范例

    `taglibs-i18n`是JSTL(JavaServer Pages Standard Tag Library)的一部分,提供了方便的标签来实现页面的国际化。本篇文章将深入探讨如何使用`taglibs-i18n`进行国际化处理,并通过一个名为`i18napp`的示例项目来...

    struts_I18N国际化

    Struts I18N 国际化是一种技术,它允许应用程序根据用户所在的地理位置或首选语言环境来显示相应的本地化内容。在Struts框架中,I18N(Internationalization)是一个关键特性,使得开发者能够轻松地创建支持多语言的...

    JSTL实例讲解大全

    JSTL的核心组件包括Core、Format、I18N、SQL和XML五个标签库,覆盖了常见的页面操作,如控制流、国际化、数据格式化等。 ### JSTL Core库 Core库是JSTL最基础的部分,包含了用于控制流程、处理URL、导入页面、输出...

    jsp实现国际化dwi18n

    1. **什么是国际化(i18n)?** 国际化是指为软件或Web应用设计一种能够适应不同地区和语言的能力。它不仅仅涉及翻译文本,还涉及到日期、时间、货币格式等文化特定元素的处理。在JSP中,国际化通常通过使用资源包...

    jstl标签jar包

    这个库提供了格式化和国际化(I18N)的支持,如`&lt;fmt:formatNumber&gt;`用于数字格式化,`&lt;fmt:formatDate&gt;`用于日期和时间格式化,以及`&lt;fmt:message&gt;`标签用于国际化的消息获取。 **3. I18N标签库:** 虽然与Format...

    jstl-1.1.2+standard-1.1.2+servlet-api

    JSTL提供了I18N支持,允许开发者方便地处理不同语言和地区的资源包。`&lt;fmt:bundle&gt;`, `&lt;fmt:message&gt;`, `&lt;fmt:formatDate&gt;`等标签用于国际化和本地化。 **JSTL SQL库** SQL库提供了执行数据库查询、更新、删除和...

    JSTL操作支持多国语言

    JSTL,全称JavaServer Pages Standard Tag Library,是Java服务器页面标准标签库,它为JSP开发者提供了一系列预定义的标签,用于简化常见的JSP编程任务,如迭代、条件判断、XML处理以及国际化(i18n)等。在"JSTL...

    jstl标签jstl--jstl.jar-standard.jar

    这个库主要用于国际化(I18N)和格式化数据,如日期、数字和货币等。它提供了如下的标签: - `&lt;fmt:formatDate&gt;`:格式化日期。 - `&lt;fmt:formatNumber&gt;`:格式化数字。 - `&lt;fmt:message&gt;`:获取和显示资源包中的消息...

    jstl.rar_JSTL_jstl.zip

    I18N组件提供处理国际化和本地化的能力,如资源包的访问和管理,以及语言环境的切换。 **4. JSTL Function组件** Function组件提供了许多预定义的函数,这些函数可以作为EL表达式的一部分使用,以增强其功能。例如...

    jstl 1.2源代码

    `jstl-impl-1.2.jar` 包含了对JSTL API的具体实现,包括对XML处理、条件判断、循环、国际化、URL操作等的支持。 3. **JSTL的核心模块(Core)** 核心模块提供了许多基本的控制结构,如迭代(`&lt;c:forEach&gt;`)、条件...

    jstl.jar和 standard.jar包

    2. **fmt**: 处理日期、时间、数字格式化以及国际化(I18N)和本地化(L10N)。 3. **func**: 提供了函数库,可以方便地在EL表达式中使用。 4. **i18n**: 用于处理本地化资源。 5. **sql**: 支持数据库操作,如执行...

    jstl,jstl实例源码

    3. **I18N**:国际化标签库,支持多语言环境。 4. **Function**:函数标签库,提供一系列的常用函数。 5. **SQL**:SQL标签库,用于执行数据库查询和其他SQL操作。 ### JSTL的引入与配置 在JSP页面中使用JSTL,...

    jstl-jar包

    3. **i18n**: 支持多语言环境,便于实现应用程序的国际化。 4. **sql**: 提供与数据库交互的能力,如执行SQL查询、事务管理等。 5. **core**: 包含了基本的控制结构,如条件语句、迭代等。 **使用JSTL的好处:** 1....

    JSTL中文帮助文档

    I18N库(国际化)支持多语言环境下的应用开发。`&lt;fmt:formatDate&gt;`、`&lt;fmt:formatNumber&gt;`等标签用于格式化日期和数字,`&lt;fmt:message&gt;`用于获取资源包中的国际化消息。 4. **JSTL XML标签库** XML库提供了处理...

    jstl源码jstl学习

    4. **I18N和Format标签库**:支持国际化和格式化,如日期、数字的格式化,以及多语言资源的处理。 5. **JDBC标签库**:简化数据库操作,如执行SQL查询、处理结果集等。 **JSTL的核心优势:** 1. **增强可读性**:...

    JSTL标签库 api

    #### I18N格式化标签库:国际化与本地化 I18N(Internationalization)标签库专注于处理日期、数字和货币的格式化,以及消息资源的加载,确保应用能够适应不同的语言和文化环境。这使得创建多语言网站变得更加容易...

Global site tag (gtag.js) - Google Analytics