jsp标签 formatNumber、formatDate、parseNumber、parseDate的使用
引用本文的有关标签需要引用对应的标签库
<%--引入格式化动作标签库--%> <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
格式化动作标签
1、formatNumber 标签的引用
formatNumber 标签
语法格式
<fmt:formatNumber
value='<string>'
type ='<string>'
var = '<string>'
scope = "<string>"
/>
常用属性:
value 要格式化的数值
type 要格式化的类型
percent 百分比类型
currency 货币类型
var 限域变量名 用来接收格式化后的结果
scope var属性的范围 (page|request|session|application)
注:1、如果使用了var属性,标签不会输出结果,需要通过el表达式获取
2、默认的类型{type}的取值为number
示例代码:
<fmt:formatNumber value="10" type="number" var="num" />${num} <br> <fmt:formatNumber value="1" type="percent"/><br> <fmt:formatNumber value="10" type="currency" /><br> <fmt:setLocale value="en_US"/> <fmt:formatNumber value="10" type="currency"/><br>
2、formatDate 标签的引用
formatDate 标签
将Date型的数据转化成指定格式的字符串
语法格式:
<fmt:formatDate
value="<string>" 需要格式化的日期
type="<string>" 格式化的类型 date 日期型 年月日 time 时间型 时分秒 both 时间日期型
dateStyle="<string>" 日期格式 :FULL LONG MEDIUM SHORT DEFAULT
timeStyle="<string>" 时间格式 : FULL LONG MEDIUM SHORT DEFAULT
pattern="<string>" 自定义模式 y M d H m s
timeZone="<string>" 显示日期的时区
var="<string>" 存储格式化日期的变量名
scope="<string>" 存储格式化日志变量的范围
/>
示例代码:
<%--格式化日期--%> <% request.setAttribute("myDate",new Date()); %> ${myDate}<br> <fmt:formatDate value="${myDate}"/><br> <fmt:formatDate value="${myDate}" type="date"/> <br> <fmt:formatDate value="${myDate}" type="time"/> <br> <fmt:formatDate value="${myDate}" type="both"/> <br> <fmt:formatDate value="${myDate}" type="both" dateStyle="FULL"/> <br> <fmt:formatDate value="${myDate}" type="both" timeStyle="short"/><br> <fmt:formatDate value="${myDate}" pattern="yyyy-MM-dd"/><br> <hr>
3、parseNumber 标签的引用
parseNumber 标签
将指定格式的字符串 转换为 数值型
语法格式:
<fmt:parseNumber
value="<string>"
type="<string>"
var="<string>"
scope="<string>"
/>
示例代码:
<fmt:setLocale value="zh_CN"/> <fmt:parseNumber value="100"/> <br> <fmt:parseNumber value="100" type="number"/> <br> <fmt:parseNumber value="100%" type="percent" /> <br> <fmt:parseNumber value="¥10.00" type="currency"/><br>
此处错误记录:
代码:
<fmt:parseNumber value="100"/> <br> <fmt:parseNumber value="100" type="number"/> <br> <fmt:parseNumber value="100%" type="percent" /> <br> <fmt:parseNumber value="¥10.00" type="currency"/><br>
错误显示:
错因:
此处的显示格式仍是 上述代买<fmt:setLocale value="en_US"/>设置的美国显示格式,所以无法识别'¥'字符,
所以将格式显示格式改为 <fmt:setLocale value="zh_CN"/>,即可修正错误
4、parseDate 标签的引用
parseDate 标签
将日期型的字符串转换成Date型
<fmt:parseDate
value="<string>" 需要格式化的日期
type="<string>" 格式化的类型 date 日期型 年月日 time 时间型 时分秒 both 时间日期型
dateStyle="<string>" 日期格式 :FULL LONG MEDIUM SHORT DEFAULT
timeStyle="<string>" 时间格式 : FULL LONG MEDIUM SHORT DEFAULT
pattern="<string>" 自定义模式 y M d H m s
timeZone="<string>" 显示日期的时区
var="<string>" 存储格式化日期的变量名
scope="<string>" 存储格式化日志变量的范围
/>
示例代码:
<fmt:parseDate value="2021-01-11" type="date"/> <br> <fmt:parseDate value="2021/01/11" pattern="yyyy/MM/dd" /><br>