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>

 

 

原文地址:https://www.cnblogs.com/lx06/p/15755064.html