jsp用到的jstl标签语言库之format标签库(二)

来源:互联网 发布:淘宝新手卖家直通车 编辑:程序博客网 时间:2024/06/17 17:19

这个网站不错:http://www.runoob.com/jsp/jsp-jstl.html

引入标签库:<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

在standard.jar中有fmt.tld文件;
标签包括:

标签           描述<fmt:formatNumber>  使用指定的格式或精度格式化数字<fmt:parseNumber>   解析一个代表着数字,货币或百分比的字符串<fmt:formatDate>    使用指定的风格或模式格式化日期和时间<fmt:parseDate> 解析一个代表着日期或时间的字符串<fmt:bundle>    绑定资源<fmt:setLocale> 指定地区<fmt:setBundle> 绑定资源<fmt:timeZone>  指定时区<fmt:setTimeZone>   指定时区<fmt:message>   显示资源配置文件信息<fmt:requestEncoding>   设置request的字符编码

既然是格式化标签库,主要功能就是格式化,格式化
Number
Date
分别都有format和parse的功能。
format:把数字或者时间日期按指定格式格式化
parse: 把字符串按指定类型解析为数字或者日期时间

java中的时间格式一般是yyyy-MM-dd HH:mm:ss或者yyyy-MM-dd hh:mm:ss
m大写就是月份Month,小写就是分钟minute,
h大写整天24小时制,小写就是半天12小时制,
d大写是一年中第几天Day,小写就是一个月中第几天day
其他的没什么区别,一般都是双大写(年月日的月,时分秒的时)格式常用。

使用场景:

format时间格式

:拿到后台的时间后(类型是Date,如果是String会怎么样?),
一般jsp显示的格式不会是想要的那样,Date类型本身就不是一个显式的时间类型,只是一个值,所以需要格式化,用到fmt:formatDate标签!
看下标签的属性:
这里写图片描述
value: 必须给标签一个Date类型的值,value=&{Date}
type:选择显示日期(2017-9-20)date,还是显示时间(20:56:30)time,还是两者(2017-9-20 20:56:30)both,单词不区分大小写,默认date
dateStyle:规定日期部分的展示格式,如 2017年9月20日 星期三
timeStyle:规定时间部分的展示格式,如 下午10时07分08秒 CST
pattern:自定义格式,如果使用自定义格式,上面的type、dateStyle、timeStyle都会失效,完全按照pattern输出
var,scope:如果多次使用到这个格式,先放到var,再取来用;如果有var属性,此标签不输出内容
想要什么格式,去对照下属性值的格式

parse时间格式

一般来说代码中拿到的时间格式是String的话,可以直接显示,变换也可以通过字符串操作来改变,
但是,有时候想要得到字符串格式时间的毫秒值,时间戳,星期几等,或者想添加一些字符,这样先把字符转化为Date类型,再用上面的formatDate来直接转成需要的结果,会简便。
<fmt:parseDate value="2017-09-20 22:26:26" var="date" pattern="yyyy-MM-dd HH:mm:ss" />
把字符串转时间,存到变量date中!
其他属性没什么用。

fmt:formatNumber

有时候因为后台代码设定了数字的类型是int,double等格式,而且只是为了jsp展示又不想在后台中弄个循环一个个转格式,而且后台也做不到限制数字的小数位,又或者是从数据库查出来的一个List,完全没有必要为了转个数字格式就循环这么大的List,所以直接从jsp格式化,随心所欲。同一个数字变量在不同的地方以不同的(想要的)格式展示!
功能包括:
1、只显示整数(pattern=”#”,小数部分四舍五入)
2、显示整数和小数的位数
(pattern=”#.###”):小数取0到三位,超过四舍五入;整数部分原样输出。
(pattern=”#.000”):小数部分固定三位,多舍入,少补0。
(pattern=”0000.000”):整数部分不足4位的前面补足0
3、范围取值
限制整数部分最大位数:maxIntegerDigits
限制整数部分最小位数:minIntegerDigits
限制小数部分最大位数:maxFractionDigits
限制小数部分最小位数:minFractionDigits
4、数字分隔符属性:groupingUsed
true:12,000,023(默认形式)
false:12000023
5、补充:fmt:formatNumber type=”percent”

其他的用到再说!

原创粉丝点击