在網上隨便找了一些,感覺有的很有用。不知道收藏在什么地方,就放到自己空間來吧。應該不會侵犯版權吧,在此向原作者致謝。
隨便粘了。
国际化格式标签库包括国际化,消息和数字日期格式化 :
(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%
來自另一個BLOG的:
<input name="birthday" type="text" id="birthday" value="<fmt:formatDate value=
"${user.birthday}" dateStyle="medium"/>" onfocus="calendar();" dataType="Require" msg="请输入出生日期!"/>
dateStyle共有五个属性值:default(就是不设置dateStyle属性) 、 short 、 medium 、 long 和 full 。格式如下(用2007年7月23日做例子):
short:84-10-9
medium :1984-10-09
long :1984年10月9日
full:1984年10月9日 星期二
還有一個:
JSP Standard Tag Libraries
Formatting and Internationalization
Two form input parameters, 'date' and 'isoDate', are URL-encoded in the link leading to this page. 'isoDate' is formatted according to the ISO8601 standard.
Formatting of numbers and dates is based on the browser's locale setting. Formatting will change if you switch the default language setting from English to French or German, for example. (The browser needs to be restarted, too.)
Library import and parameter capturing:
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>
<fmt:parseDate value="${param.date}" var="date" pattern="yyyy/MM/dd:HH:mm:ss>
<fmt:parseDate value="${param.isoDate}" var="isoDate" pattern="yyyyMMdd'T'HHmmss">
The input parameters must match the patterns, or the JSP will thrown an exception. This page does no error handling.
Input parameters:
Date: 2004/04/01:13:30:00 Java format: Thu Apr 01 13:30:00 CST 2004
isoDate: 20040531T235959 Java format: Mon May 31 23:59:59 CDT 2004
Dates
Tag Output
Attribute: value; required. Tag has no body.
<fmt:formatDate value="${date}" type="both"/>
2004-4-1 13:30:00
<fmt:formatDate value="${isoDate}" type="both"/>
2004-5-31 23:59:59
Attribute: type; optional. Indicates what to print: date, time, or both.
<fmt:formatDate value="${date}" type="date"/>
2004-4-1
<fmt:formatDate value="${isoDate}" type="time"/>
23:59:59
Attribute: dateStyle; optional. Varies the date format.
<fmt:formatDate value="${isoDate}" type="date" dateStyle="default"/>
2004-5-31
<fmt:formatDate value="${isoDate}" type="date" dateStyle="short"/>
04-5-31
<fmt:formatDate value="${isoDate}" type="date" dateStyle="medium"/>
2004-5-31
<fmt:formatDate value="${isoDate}" type="date" dateStyle="long"/>
2004年5月31日
<fmt:formatDate value="${isoDate}" type="date" dateStyle="full"/>
2004年5月31日 星期一
Attribute: timeStyle; optional. Varies the time format.
<fmt:formatDate value="${isoDate}" type="time" timeStyle="default"/>
23:59:59
<fmt:formatDate value="${isoDate}" type="time" timeStyle="short"/>
下午11:59
<fmt:formatDate value="${isoDate}" type="time" timeStyle="medium"/>
23:59:59
<fmt:formatDate value="${isoDate}" type="time" timeStyle="long"/>
下午11时59分59秒
<fmt:formatDate value="${isoDate}" type="time" timeStyle="full"/>
下午11时59分59秒 CDT
Attribute: pattern; optional. Inidcates date/time custom patterns.
<fmt:formatDate value="${date}" type="both" pattern="EEEE, MMMM d, yyyy HH:mm:ss Z"/>
星期四, 四月 1, 2004 13:30:00 -0600
<fmt:formatDate value="${isoDate}" type="both" pattern="d MMM yy, h:m:s a zzzz/>
31 五月 04, 11:59:59 下午 中央夏令时
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hughxiaoming/archive/2009/07/15/4346540.aspx