国际化格式标签库包括国际化,消息和数字日期格式化
:
(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%
分享到:
相关推荐
I18N formatting 标签库就是用于在 JSP 页面中做国际化的动作。在该标签库中的标签一共有 12 个
c.tld fn.tld fmt.tld x.tld jstl.jar JSTL tld标签及jar包
JSTL标签所需要的tld文件,包括 c.tld、fmt.tld、fn.tld 三个 几乎所有的JSTL标签下载的zip中都只有一个c.tld,然后只讲解<C:>标签怎么用,其实<fmt:> <fn:>标签也非常好用和实用,找了好久才找到...
JSTL标准标签库的各个标签详细说明,包含了核心标签库(c:),国际化标签库(fmt:)以及函数标签库(fn).注意:SQL标签库(sql:)以及XML标签库(xml:)不应使用,文档中也未提及
国际化标签(I18N) http://java.sun.com/jstl/fmt fmt <fmt:tagname…> SQL标签库 http://java.sun.com/jstl/sql sql <sql:tagname…> XML标签库 ...
JSTL是一个不断完善的开放源代码的JSP标签库,是由...I18N capable formatting http://java.sun.com/jstl/fmt fmt <fmt:tagname ...> Database access (SQL) http://java.sun.com/jstl/sql sql <sql:tagname ...>
jstl所有标签库sql、xml、core、fmt、functions所有标签的详细运用的代码示例。
主要介绍了JSP中常用的JSTL fmt(format格式化)标签用法整理,fmt的格式化处理遵循i18n国际化格式标准,需要的朋友可以参考下