java web

JSTL中的格式化动作标签

2022-05-01  本文已影响0人  马佳乐

JSTL提供了格式化和解析数字和日期的标签,我们讨论里面有: formatNumber、formatDate,parseNumber及parseDate。

formatNumber标签

formatNumber标签用于格式化数字,百分比,货币。该标签用指定的格式或精度来格式化数字。(将数值型数据转换成指定格式的字符串类型。)

需要导入:

<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>    

语法格式:

<fmt:formatNumber value="<string>" type="<string>" var="<string>" scope="<string>" />

属性

属性 描述 是否必要 默认值
value 要显示的数字
type NUMBER,CURRENCY,或PERCENT类型 Number
var 存储格式化数字的变量 Print to page
scope var属性的作用域 page

注意:

  1. 如果设置了var属性,则格式化后的结果不会输出,需要通过EL表达式获取var对应的限域变量名
  2. 默认的类型(typle)的取值为number。可取值: number数值型、percent百分比类型、currency货币型
<fmt:formatNumber value="10" type="number" var="num" />${num }<br>    <!-- 10 -->
<fmt:formatNumber value="10" type="percent" /><br>                    <!-- 1,000% -->
<fmt:formatNumber value="10" type="currency" /><br>                   <!-- ¥10.00 -->
<!-- 设置时区 -->
<fmt:setLocale value="en_US"/>
<fmt:formatNumber value="10" type="currency" />                       <!-- $10.00 -->

formatDate标签

formatDate标签用于使用不同的方式格式化日期。(将Date型数据转换成指定格式的字符串类型。)

语法格式

<fmt:formatDate value="<string>" type="<string>" dateStyle="<string>" timeStyle="<string>" pattern="<string>" timeZone="<string>" var="<string>" scope="<string>" />

属性

属性 描述 是否必要 默认值
value 要显示的日期
type DATE,TIME,或 BOTH date
dateStyle FULL,LONG,MEDIUM, SHORT,或 DEFAULT default
timeStyle FULL,LONG, MEDIUM,SHORT,或 DEFAULT default
pattern 自定义格式模式
timeZone 显示日期的时区 默认时区
var 存储格式化日期的变量名 显示在页面
scope 存储格式化日志变量的范围 页面

标签格式模式

代码 描述 实例
y 不包含纪元的年份。如果不包含纪元的年份小于10,则显示不具有前导零的年份。 2022
M 月份数字。一位数的月份没有前导零。 April & 4
d 月中的某一天。一位数的日期没有前导零。 1
h 12小时制的小时。一位数的小时数没有前导零。 12
H 24小时制的小时。一位数的小时数没有前导零。 15
m 分钟。一位数的分钟数没有前导零。 45
s 秒。一位数的秒数没有前导零。 52
<%
    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" dateStyle="short"/><br>
<fmt:formatDate value="${myDate }" pattern="yyyy-MM-dd"/><br>

parseNumber标签

parseNumber标签用来解析数字,百分数,货币。(parseNumber标签可以将数字、货币或百分比类型的字符串转换成数值型。)

语法格式

<fmt:parseNumber value="<string>" type="<string>" var="<string>" scope="<string>" />

属性

属性 描述 是否必要 默认值
value 要解析的数宁 Body
type NUMBER,,CURRENCY,或PERCENT number
var 存储待解析数字的变量 Print to page
scope var属性的作用域 page
<fmt:parseNumber value="100"  /><br>
<fmt:parseNumber value="100" type="number"  /><br>
<fmt:parseNumber value="100%" type="percent"  /><br>

parseDate标签

parseDate标签用于解析日期。(将指定格式的字符串转换成Date类型。)

语法格式

<fmt:parseDate value="<string>" type="<string>" dateStyle="<string>" timeStyle="<string>" pattern="<string>" timeZone="<string>" var="<string>" scope="<string>" />

属性

属性 描述 是否必要 默认值
value 要显示的日期
type DATE,TIME,或 BOTH date
dateStyle FULL,LONG,MEDIUM, SHORT,或 DEFAULT default
timeStyle FULL,LONG, MEDIUM,SHORT,或 DEFAULT default
pattern 自定义格式模式
timeZone 显示日期的时区 默认时区
var 存储格式化日期的变量名 显示在页面
scope 存储格式化日志变量的范围 页面
<fmt:parseDate value="2022-5-1" type="date" /><br>
<fmt:parseDate value="2022/5/1" pattern="yyyy/MM/dd" />
上一篇 下一篇

猜你喜欢

热点阅读