JSTL中利用fmt的应用收集

在網上隨便找了一些,感覺有的很有用。不知道收藏在什么地方,就放到自己空間來吧。應該不會侵犯版權吧,在此向原作者致謝。
隨便粘了。
国际化格式标签库包括国际化,消息和数字日期格式化 :

(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

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年11月    »
123
45678910
11121314151617
18192021222324
252627282930
搜索
标签列表
网站分类
最新留言
    文章归档
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.闽ICP备11018667号-2