国际化格式标签库包括国际化,消息和数字日期格式化:
(1) 国际化:<fmt:setLocale> <fmt::requestEncoding>
如:
<%@ page language="java" contentType="text/html; charset=gb2312" import="java.util.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<c:set var="todayValue" value="<%=new Date() %>"/>
中文-大陆:<fmt:setLocale value="zh"/> <fmt:formatDate value="${todayValue}"/><br>
中文-台湾<fmt:setLocale value="zh_tw"/> <fmt:formatDate value="${todayValue}"/><br>
中文-新加坡<fmt:setLocale value="zh_sg"/> <fmt:formatDate value="${todayValue}"/><br>
英文:<fmt:setLocale value="en"/> <fmt:formatDate value="${todayValue}"/>
</body>
</html>
页面输出:
中文-大陆: 2007-12-25 中文-台湾 2007/12/25 中文-新加坡 25-十二月-07 英文: Dec 25, 2007
(2)消息标签:<fmt:bundle> <fmt:message> <fmt:setBundle> <fmt:param>
如:
<%@ page language="java" contentType="text/html; charset=gb2312" import="java.util.*"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>bundle test</title>
</head>
<body>
<fmt:bundle basename="dbconn">
数据库驱动程序名:<fmt:message key="driverName"/><br>
连接字符串:<fmt:message key="connString"/><br>
用户名:<fmt:message key="userName"/><br>
密码:<fmt:message key="password" var="password"/> <c:out value="${password}"/><br>
名字:<fmt:message key="name"/><br>
动态提示信息:<fmt:message key="messageTemp"/><br>
</fmt:bundle>
<!-- 修改.properties文件中某个键的动态值 -->
<c:set var="todayTemp" value="<%=new Date() %>"/>
<fmt:setBundle basename="dbconn"/>
动态提示信息:
<fmt:message key="messageTemp">
<fmt:param>邓子云</fmt:param>
<fmt:param value="${todayTemp}"></fmt:param>
</fmt:message>
</body>
</html>
其对应的读取文件为dbconn.properties(当然是放在web-inf/classes下了),内容为:
#SQL Server
driverName=com.microsoft.jdbc.sqlserver.SQLServerDriver
connString=jdbc:microsoft:sqlserver://localhost:1433;
DatabaseName=testDatabase
userName=sa password=123456 name=邓佳容
messageTemp=myname is {0},today is {1,date}
其页面输出为:
数据库驱动程序名:com.microsoft.jdbc.sqlserver.SQLServerDriver
连接字符串:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=testDatabase
用户名:sa 密码: 123456 名字: Wallace
动态提示信息:myname is ...{0},today is ...{1,date} 动态提示信息: myname is 邓子云,today is 2007-12-25
解释一下其中的几个标签:
<fmt:bundle>标签用于绑定数据源.properties文件;
<fmt:bundle basename="源文件名,且不能带后缀哦,如上例就可以了" prefix=""> 语句,代码等 </fmt:bundle>
<fmt::message>标签用于从指定的资源文件中把指定的键值取出来;
<fmt:message key="" [var="varname"] [bundle=""] [scope="page|..."]/> 如果用到var的话就不会在页面直接输出,而需要用到<c:out>标签来进行页面的输出,如上例;
<fmt:message>标签可以配合<fmt:param>标签来进行设定<fmt:message>标签指向键的动态值,如上例;
<fmt:setBundle>标签用于设置默认的数据来源;
<fmt:setBundle>标签用来设置默认的数据来源; <fmt:setBundle basename="" [ var=""] [scope="" ] />
(3)
<fmt:formatNumber>标签用于根据设定的区域将数据格式化输出;
<fmt:formatDate>标签用于格式化输出日期和时间;
<fmt:parseDate>标签用于把字符串类型的日期和时间转换成日期型数据类型;
<fmt:setTimeZone>标签用于设定默认的时区;
<fmt:timeZone>标签用于设定在本签体内有效的时区;
(4)
日期格式数据在jsp页面显示使用如下标签
<fmt:formatDate value="${date}" pattern="yyyy-MM-dd"/>
其中${date}是实际数据中的java.util.Date类型数据
pattern="yyyy-MM-dd" 中的"yyyy-MM-dd"按照标准时间格式字符串定义即可,
可以显示到时分秒即为"yyyy-MM-dd HH:mm:ss"注意其中大小写
数字标签
<fmt:formatNumber value="${num}" pattern="#" type="number"/>
其中${num}是任意的基础数据类型数据,pattern指定当前数字的格式,可以指定格式”#”
(只有整数类型)、”#.#”(带一位小数类型)、” ¥#,###.###”(带千位分割符,和“¥”类型)等等;type指定当前数字的类型,type有number(数值)、currency(货币)、percent(百分数)三种;
数字标签实例
Double num = new Double("123456789012.3456");
整数带千分符显示:
<fmt:formatNumber value="${num}" type="number"/>
整数显示:
<fmt:formatNumber value="${num}" pattern="#" type="number"/>
两位小数舍入显示:
<fmt:formatNumber value="${num}" pattern="#.##" type="number"/>
两位小数舍入,不足两位小数补0显示:
<fmt:formatNumber value="${num}" pattern="#.00" type="number"/>
货币显示:(与number类似扩展pattern)
<fmt:formatNumber value="${num}" type="currency"/>
百分数显示:(与number类似扩展pattern)
<fmt:formatNumber value="${num}" type="percent"/>
实例结果
整数带千分符显示: 123,456,789,012.346
整数显示: 123456789012
两位小数舍入显示: 123456789012.35
两位小数舍入,不足两位小数补0显示: 123456789012.35
货币显示:¥123,456,789,012.35
百分数显示 12,345,678,901,235%
分享到:
相关推荐
除了基本的国际化标签外,`fmt` 标签库还提供了多种格式化标签,用于处理日期、时间、数字等数据类型。 ##### 3.1 `<fmt:formatDate>` 标签 `<fmt:formatDate>` 标签用于格式化日期和时间。它可以根据设定的区域...
在JavaServer Pages (JSP) 开发中,fmt标签库是实现国际化(I18N)和格式化数据的关键工具。fmt标签库提供了12个标签,分为两大类:国际化核心标签和格式化标签。这些标签使得开发者能够在JSP页面中轻松地处理多语言...
JSTL(JavaServer Pages Standard Tag Library)是用于增强JSP页面功能的一组标签库,其中fmt标签库是专门用来处理日期、数字格式化以及国际化问题的。本文将详细介绍如何使用JSTL fmt标签来实现国际化。 首先,...
fmt标签库主要分为两个大类:国际化核心标签和格式化标签。国际化核心标签主要用于设置和管理本地化环境,而格式化标签则用于日期、时间、数字的格式化和解析。 1. **国际化核心标签** - `<fmt:setLocale>`:这个...
`fmt` 标签库主要包含两大类标签:国际化核心标签和格式化标签。 1. **国际化核心标签**: - `<fmt:setLocale>`:用于设置当前的地域设置。 - `<fmt:bundle>` 和 `<fmt:setBundle>`:用于绑定资源文件。 - `<fmt...
3. 国际化标签 - <fmt:setLocale>标签:设置当前的区域设置,指定应用的地区和语言。 - <fmt:requestEncoding>标签:用于设置请求的字符编码,确保表单数据等信息能够正确处理。 使用fmt标签库,可以在JSP页面中...
总之,`fmt`标签是关于格式化输出的关键概念,涵盖了从基础的`printf`函数到现代编程语言中的高级格式化库。了解和掌握这些知识点对于任何编程任务都大有裨益。通过实践和阅读源码,我们可以更好地理解和运用这些...
`fmt`标签是JavaServer Pages (JSP)中Jakarta Tag Library (JSTL)的一部分,主要用于...在处理国际化和本地化的应用中,`fmt`标签更是不可或缺的工具,因为它能根据用户所在的地区自动调整格式,提供更友好的用户体验。
其中,`fmt`标签库专注于格式化输出和国际化,它提供了一系列标签,用于日期、数字、货币、消息资源等的格式化处理,以及语言环境的设置和切换。 ### `fmt`标签库的关键特性 #### 1. **国际化支持** `fmt`标签库...
3. **I18N标签**:支持国际化和本地化,如`<fmt:message>`用于显示资源包中的消息,`<fmt:setLocale>`设置当前会话的locale。 4. **XML标签**:处理XML文档,如`<c:out>`显示XML内容,`<x:parse>`解析XML字符串。 ...
这里通过 `<%@ taglib %>` 指令导入了 JSTL 的核心库 (`core`) 和国际化/格式化库 (`fmt`)。 #### 三、`fmt:formatNumber` 基本用法 `<fmt:formatNumber>` 标签的主要作用是将一个数值(可以是 Java 表达式的结果...
格式化标签库(FMT)主要用于处理文本的国际化和格式化问题,例如日期、时间、数字等的格式化显示。 #### `<fmt:formatNumber>`标签详解 `<fmt:formatNumber>`标签用于格式化数字,可以将数字转换为货币、百分比或...
8. **fmt标签**:用于国际化和日期/时间格式化,如`<fmt:message>`用于显示本地化的消息,`<fmt:formatDate>`则可以格式化日期。 阅读这个英文版的Struts标签库手册,即使对于初学者来说也并不困难。通过学习和理解...
JSTL标准标签库的各个标签详细说明,包含了核心标签库(c:),国际化标签库(fmt:)以及函数标签库(fn).注意:SQL标签库(sql:)以及XML标签库(xml:)不应使用,文档中也未提及
2. **Format标签库 (fmt:)** - 用于日期、时间、数字格式化和国际化。 3. **Function标签库 (fn:)** - 包含一系列实用的函数,如字符串操作、数组和集合处理。 4. **SQL标签库 (sql:)** - 支持执行SQL查询和数据库...
3. **国际化格式化标签库(I18N capable formatting)** I18N标签库提供日期、时间、数字的格式化以及国际化支持。例如,`<fmt:formatDate>`用于格式化日期,`<fmt:message>`用于获取国际化的消息。 ```jsp <fmt...
国际化和格式化是Web应用中的重要需求,fmt库提供了`<fmt:formatNumber>`(格式化数字)、`<fmt:formatDate>`(格式化日期和时间)、`<fmt:message>`(获取消息资源)等标签,支持多语言环境。 6. **JSTL func库**...
这些标签支持国际化,允许开发者根据不同的地区和文化背景格式化输出内容。这些标签都属于fmt库,使用时需要在JSP页面顶部导入相应的标签库,例如:***" prefix="fmt" %>。 流程控制标签如、、和,使得开发者可以...
2. **I18N格式标签库**(Internationalization Tag Library):用于处理国际化问题,例如日期、时间、数字的格式化。 - **URI**: `http://java.sun.com/jsp/jstl/fmt` - **前缀**: `fmt` 3. **SQL标签库**:提供...