JSTL Tag学习笔记(二)之<fmt: />
JSTL的formatting tags可以用来格式化和显示文本、日期、时间、数字。如果在JSP页面中要用到该库提供的tag的话,需要引入如下taglib:
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
1. <fmt: formatNumber>
该tag包含有以下一些属性:
Attribute | Description | Required | Default |
value | 需要显示的数字 | Yes | None |
type | NUMBER, CURRENCY, or PERCENT | No | Number |
pattern | 自己定义一种输出格式 | No | None |
currencyCode | Currency code (for type="currency") | No | From the default locale |
currencySymbol | 货币符号 | No | From the default locale |
groupingUsed | 是否分组显示(TRUE or FALSE) | No | true |
maxIntegerDigits | 最多显示的整数位数 | No | None |
minIntegerDigits | 至少显示的整数位数 | No | None |
maxFractionDigits | 最多显示的小数位数 | No | None |
minFractionDigits | 最少显示的小数位数 | No | None |
var | 存储格式化后的值的变量 | No | Print to page |
scope | 变量的Scope | No | page |
如果想要自己定义一种格式显示的话,它也给我们提供了一些转义的属性:
Symbol | Description |
0 | 表示一个数字 |
E | 表示使用科学计数法 |
# | 表示一个数字,默认显示0 |
. | 整数和小数的分隔符 |
, | 分组的分隔符 |
; | 分割不同的格式 |
- | 默认的负数符号 |
% | 乘以100后以百分比显示 |
? | 乘以1000后以千分比显示 |
¤ | 货币符号的占位符 |
X | 表示任何其他的字符都可以用于前缀和后缀 |
' | 在前缀后后缀中引用特殊符号 |
Example:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <c:setvar="balance"value="120000.2309"/>
<p>Formatted Number (1): <fmt:formatNumbervalue="${balance}"type="currency"/></p>
<p>Formatted Number (2): <fmt:formatNumbertype="number"maxIntegerDigits="3"value="${balance}"/></p>
<p>Formatted Number (3): <fmt:formatNumbertype="number"maxFractionDigits="3"value="${balance}"/></p>
<p>Formatted Number (4): <fmt:formatNumbertype="number"groupingUsed="false"value="${balance}"/></p>
<p>Formatted Number (5): <fmt:formatNumbertype="percent"maxIntegerDigits="3"value="${balance}"/></p>
<p>Formatted Number (6): <fmt:formatNumbertype="percent"minFractionDigits="10"value="${balance}"/></p>
<p>Formatted Number (7): <fmt:formatNumbertype="percent"maxIntegerDigits="3"value="${balance}"/></p>
<p>Formatted Number (8): <fmt:formatNumbertype="number"pattern="###.###E0"value="${balance}"/></p>
<p>Currency in USA :
<fmt:setLocalevalue="en_US"/>
<fmt:formatNumbervalue="${balance}"type="currency"/></p>
NUMBER FORMAT:
Formatted Number (1): £120,000.23 Formatted Number (2): 000.231 Formatted Number (3): 120,000.231 Formatted Number (4): 120000.231 Formatted Number (5): 023% Formatted Number (6): 12,000,023.0900000000% Formatted Number (7): 023% Formatted Number (8): 120E3 Currency in USA : $120,000.23 |
2. <fmt: parseNumber>
它用来解析数字、百分比、货币。包含以下属性:
Attribute | Description | Required | Default |
value | 需要被解析的值 | No | Body |
type | NUMBER, CURRENCY, or PERCENT | No | number |
parseLocale | 解析时需要的区域设置 | No | Default locale |
integerOnly | 是否只解析整数 (true)或者浮点数(false) | No | false |
pattern | 自定义的格式 | No | None |
timeZone | 显示日期的时区 | No | Default time zone |
var | 存储解析完之后的值 | No | Print to page |
scope | var生存的Scope | No | page |
Example:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <c:setvar="balance"value="1250003.350"/> <fmt:parseNumbervar="i"type="number"value="${balance}"/>
<p>Parsed Number (1) : <c:outvalue="${i}"/></p>
<fmt:parseNumbervar="i"integerOnly="true"type="number"value="${balance}"/>
<p>Parsed Number (2) : <c:outvalue="${i}"/></p>
NUMBER PARSING: Parsed Number (1) : 1250003.35 Parsed Number (2) : 1250003 |
3. <fmt: formatDate>
用来格式化日期和时间,它包含以下属性:
Attribute | Description | Required | Default |
value | 需要格式化的值 | Yes | None |
type | DATE, TIME, or BOTH | No | date |
dateStyle | FULL, LONG, MEDIUM, SHORT, or DEFAULT | No | default |
timeStyle | FULL, LONG, MEDIUM, SHORT, or DEFAULT | No | default |
pattern | 自定义格式 | No | None |
timeZone | 显示时间的时区 | No | Default time zone |
var | 存储格式化后的值的变量 | No | Print to page |
scope | 变量的Scope | No | page |
下面是一些可以用在自定义格式时的转义字符:
Code | Purpose | Sample |
G | 纪元标记 | AD |
y | 年 | 2002 |
M | 月 | April & 04 |
d | 日 | 20 |
h | 时(12小时制) | 12 |
H | 时(24小时制) | 0 |
m | 分 | 45 |
s | 秒 | 52 |
S | 毫秒 | 970 |
E | 星期 | Tuesday |
D | 一年中的第几天 | 180 |
F | 一个月中的第几个星期几 | 2 (2nd Wed in month) |
w | 一年中的第几个星期 | 27 |
W | 一个月中的第几个星期 | 2 |
a | a.m./p.m. 标记 | PM |
k | The hour(12-hour time) | 24 |
K | The hour(24-hour time) | 0 |
z | The time zone | Central Standard Time |
' | The escape for text | |
'' | The single quote |
Example:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <c:set var="now" value="<%=new java.util.Date()%>" /> <p>Formatted Date (1): <fmt:formatDatetype="time"value="${now}"/></p>
<p>Formatted Date (2): <fmt:formatDatetype="date"value="${now}"/></p>
<p>Formatted Date (3): <fmt:formatDatetype="both"value="${now}"/></p>
<p>Formatted Date (4): <fmt:formatDatetype="both"dateStyle="short"timeStyle="short"value="${now}"/></p>
<p>Formatted Date (5): <fmt:formatDatetype="both"dateStyle="medium"timeStyle="medium"value="${now}"/></p>
<p>Formatted Date (6): <fmt:formatDatetype="both"dateStyle="long"timeStyle="long"value="${now}"/></p>
<p>Formatted Date (7): <fmt:formatDatepattern="yyyy-MM-dd"value="${now}"/></p>
DATE FORMAT: Formatted Date (1): 14:27:18 Formatted Date (2): 23-Sep-2010 Formatted Date (3): 23-Sep-2010 14:27:18 Formatted Date (4): 23/09/10 14:27 Formatted Date (5): 23-Sep-2010 14:27:18 Formatted Date (6): 23 September 2010 14:27:18 GST Formatted Date (7): 2010-09-23 |
4. <fmt: parseDate>
用来解析日期,它包含以下属性:
Attribute | Description | Required | Default |
value | 需要解析的日期 | No | Body |
type | DATE, TIME, or BOTH | No | date |
dateStyle | FULL, LONG, MEDIUM, SHORT, or DEFAULT | No | Default |
timeStyle | FULL, LONG, MEDIUM, SHORT, or DEFAULT | No | Default |
parseLocale | 解析日期时用的区域设置 | No | Default locale |
pattern | 自定义格式 | No | None |
timeZone | Time zone of the parsed date | No | Default time zone |
var | 存储解析后的值的变量 | No | Print to page |
scope | 变量的Scope | No | page |
Example:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <c:setvar="now"value="20-10-2010"/> <fmt:parseDatevalue="${now}"var="parsedEmpDate"pattern="dd-MM-yyyy"/>
<p>Parsed Date: <c:outvalue="${parsedEmpDate}"/></p>
DATE PARSING: Parsed Date: Wed Oct 20 00:00:00 GST 2010 |
还有一些其他的tag,以前没用用过,也没看见别人用过。还是列在下面:
Tag | Description |
…… | …… |
<fmt:bundle> | Loads a resource bundle to be used by its tag body. |
<fmt:setLocale> | Stores the given locale in the locale configuration variable. |
<fmt:setBundle> | Loads a resource bundle and stores it in the named scoped variable or the bundle configuration variable. |
<fmt:timeZone> | Specifies the time zone for any time formatting or parsing actions nested in its body. |
<fmt:setTimeZone> | Stores the given time zone in the time zone configuration variable |
<fmt:message> | To display an internationalized message. |
<fmt:requestEncoding> | Sets the request character encoding. |
文中的例子例子:http://www.tutorialspoint.com/jsp/jsp_standard_tag_library.htm
JSTL Tag学习笔记(二)之<fmt: />的更多相关文章
- JSTL Tag学习笔记(一)之<c: />
注:本文中的例子主要来自http://www.tutorialspoint.com/jsp/jsp_standard_tag_library.htm. ======================= ...
- JSTL Tag学习笔记之<fn: />
在JSTL中也提供了一些标准的函数,但是几乎都是和操作字符串相关的函数,如果需要使用这类函数的话,应该引入下面的taglib: <%@ taglib prefix="fn" ...
- Go语言学习笔记二: 变量
Go语言学习笔记二: 变量 今天又学了一招如何查看go的版本的命令:go version.另外上一个笔记中的代码还可以使用go run hello.go来运行,只是这种方式不会生成exe文件. 定义变 ...
- WPF的Binding学习笔记(二)
原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...
- AJax 学习笔记二(onreadystatechange的作用)
AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...
- [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计
源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...
- JMX学习笔记(二)-Notification
Notification通知,也可理解为消息,有通知,必然有发送通知的广播,JMX这里采用了一种订阅的方式,类似于观察者模式,注册一个观察者到广播里,当有通知时,广播通过调用观察者,逐一通知. 这里写 ...
- java之jvm学习笔记二(类装载器的体系结构)
java的class只在需要的时候才内转载入内存,并由java虚拟机的执行引擎来执行,而执行引擎从总的来说主要的执行方式分为四种, 第一种,一次性解释代码,也就是当字节码转载到内存后,每次需要都会重新 ...
- Java IO学习笔记二
Java IO学习笔记二 流的概念 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输 ...
随机推荐
- [转]UDP/TCP穿越NAT的P2P通信方法研究(UDP/TCP打洞 Hole Punching)
[转]UDP/TCP穿越NAT的P2P通信方法研究(UDP/TCP打洞 Hole Punching) http://www.360doc.com/content/12/0428/17/6187784 ...
- Indigo Studio
http://www.infragistics.com/products/indigo-studio?gclid=CIXrnav4lcQCFdclvQoduVEAnA
- Zclip复制页面内容到剪贴板兼容各浏览器
Zclip:复制页面内容到剪贴板兼容各浏览器 WEB开发中,要让用户复制页面中的一段代码.URL地址等信息,为了避免用户拖动鼠标再进行右键复制操作而可能出现的差错,我们可以直接在页面中放置一个复制按钮 ...
- linux查看端口是否已开启和查看文件数
查看端口是否开启 lsof -i:80 查看文件数 ls | wc -w
- 我教女朋友学编程Html系列(6)—Html常用表单控件
做过网页的人都知道,html表单控件十分重要.基本上我们注册会员.登录用户,都需要填写用户名.密码,那些框框都是表单控件. 本来今天就想写一些常用的html表单控件,于是开始搜资料,找到了一个网页,作 ...
- js读取屏幕长宽
网页可见区域宽 document.body.clientWidth 网页可见区域高 document.body.clientHeight 网页可见区域宽(包括边线的宽) document.body.o ...
- 图解Git/图形化的Git参考手册
此页图解git中的最常用命令.如果你稍微理解git的工作原理,这篇文章能够让你理解的更透彻. 基本用法 上面的四条命令在工作目录.暂存目录(也叫做索引)和仓库之间复制文件. ● git add fil ...
- Linux 下Valgrind 使用
Valgrind包括如下一些工具: Memcheck.这是valgrind应用最广泛的工具,一个重量级的内存检查器,能够发现开发中绝大多数内存错误使用情况,比如:使用未初始化的内存,使用已经释放了的内 ...
- NYOJ-205 求余数 AC 分类: NYOJ 2014-02-02 12:30 201人阅读 评论(0) 收藏
这题目看一眼以为难度评级出错了,只是一个求余数的题目,,后来才发现,位数小于百万位,,,我还以为是大小小于百万呢,所以借鉴了另一大神的代码, 用大数,重点是同余定理: (a+b)mod m=((a m ...
- NYOJ-85 有趣的数 AC 分类: NYOJ 2014-01-17 21:42 240人阅读 评论(0) 收藏
这道题目就是,找规律,小学奥数,找规律不难吧, #include<stdio.h> int sc(int x); int main(){ int n=0; int num,cs,k; sc ...