zoukankan      html  css  js  c++  java
  • 10. JSTL格式化标签

    JSTL格式化标签

    老样子 先引入标签库头:

    要使用格式化标签库需要先引入标签库

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

    1.

    fmt:formatDate标签

    该标签用于使用不同的模式格式化日期。其常用属性有:

    • value:将要被格式化的数据
    • pattern:格式化的模式。其与 SimpleDateFormat 的参数设置方式相同 例: yyyy-MM-dd。
    • var:格式化后的字符串所要存放的变量若不指定 var,则会将格式化过的结果直接显示在页面
    • scope:变量存放的域属性空间取值为 page、request、session、application。默认为page 范围
    • type:其取值为 date、time,或 both,表示给出的 value 是日期、时间,还是两者都包含。默认为 date

    例:

    <%@page import="java.util.Date"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
        <%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    
        <% Date date = new Date();
            request.setAttribute("now", date);
        %>
        <fmt:formatDate value="${ now }" pattern="yyyy-MM-dd" />        <!-- 直接输出的模式 -->
        
        <fmt:formatDate value="${ now }" var="var_date" pattern="yyyy-MM-dd" />    <!-- 添加了var 不会直接输出 而是放在var中 默认存储域为request -->
        
        <table border="1">
        <tr>
        <td>${ var_date }</td>
        </tr>
        </table>
        
    </body>
    </html>

     


     

    fmt:parseDate标签

    该标签用于将指定字符串转换为日期类型。常用的属性有:

    • value:将要被格式化的数据
    • pattern:格式化的模式。其与 SimpleDateFormat 的参数设置方式相同 例: yyyy-MM-dd
    • var:转换后的日期类型数据所要存放的变量若不指定 var,则会将转换过的结果直接显示在页面
    • scope:变量存放的域属性空间,取值为 page、request、session、application。默认为page 范围

    和formatDate 参数都差不多:

    <%@page import="java.util.Date"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
        <%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    
        <% 
        String date = "2020-06-03";
        request.setAttribute("now", date);
        %>
        
        <fmt:parseDate value="${ now  }" pattern="yyyy-MM-dd" var="var_now"></fmt:parseDate>    <!-- 如果没var 直接输出该时间 -->
        
        <table border="1">
        <tr>
        <td>${ var_now }</td>            <%-- 输出结果:  Wed Jun 03 00:00:00 CST 2020  --%>
        </tr>
        </table>
        
    </body>
    </html>

     


    fmt:formatNumber标签

    该标签用于按照指定格式对数字进行格式化。常用的属性有:

    属性描述是否必需默认值
    value 要显示的数字
    type NUMBER,CURRENCY(货币), PERCENT(百分数) Number
    pattern 指定一个自定义的格式化模式用与输出
    groupingUsed 是否对数字分组 (TRUE 或 FALSE) true
    maxIntegerDigits 整数部分最多的位数
    minIntegerDigits 整数部分最少的位数
    maxFractionDigits 小数点后最多的位数
    minFractionDigits 小数点后最少的位数
    var 存储格式化结果的变量
    scope var 属性的作用域 page

    例子:【主义看注释】:

    <%@page import="java.util.Date"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
        <%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <form action="">
        <!-- 格式化后直接在页面显示 -->
        <!-- 整数不够前补0 小数不够后不补0 输出: -->
        
        
        <fmt:formatNumber value="12345.789" minIntegerDigits="6" maxFractionDigits="2"></fmt:formatNumber>    <!--minIntegerDigits最少x位整数【不够前补0】; maxFractionDigits最多2位小数【超出去除】  -->
        <br>
        <fmt:formatNumber value="123456" minFractionDigits="2" groupingUsed="false"></fmt:formatNumber>    <!-- minFractionDigits最小两位小数[不够补0] groupingUsed不分组 默认分 其实就是逗号,  -->
        <br>
    
        <!-- 格式化后存储在某个变量中 -->
        <fmt:formatNumber value="12345.678" var="num1" minIntegerDigits="6" maxFractionDigits="2"></fmt:formatNumber>    <!-- 带var  不直接输出  放入var中 -->
        <br>
        <fmt:formatNumber value="123456" var="num2" minFractionDigits="2" groupingUsed="false"></fmt:formatNumber>        <!-- 带var  不直接输出  放入var中 不分组的 -->
        <br>
        num1:<input type="text" name="num1" value="${num1 }">            <!-- 输出var 默认域 page中 -->
        <br>
        num2:<input type="text" name="num2" value="${num2 }">            <!-- 输出var 默认域 page中 -->    
    
    </form>
        </table>
        
    </body>
    </html>

    若要使用 pattern 模式,则其中常用的符号的意义为:

    符号描述
    0 代表一位数字
    E 使用指数格式
    # 代表一位数字,若没有则显示 0
    . 小数点
    , 数字分组分隔符
    ; 分隔格式
    使用默认负数前缀
    % 百分数
    ? 千分数

    说实话  这个 pattern我也看不多懂


    fmt:parseNumber标签

    属性描述是否必需默认值
    value 要解析的数字
    type NUMBER,,CURRENCY,或 PERCENT number
    integerOnly 是否只解析整型数(true)或浮点数(false) false
    pattern 自定义解析模式
    var 存储待解析数字的变量
    scope var 属性的作用域 page

    把字符串解析为数字

    <!-- 直接在页面中显示 -->
    <fmt:parseNumber value="123,456,789" integerOnly="true"></fmt:parseNumber><br>
    <fmt:parseNumber value="123,456,789" integerOnly="false"></fmt:parseNumber><br>
    
    <!-- 将结果存储在变量中并做运算 -->
    <fmt:parseNumber value="123,456,789" var="num" integerOnly="true"></fmt:parseNumber><br>
    ${num + 1 }

    本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/14846074.html

  • 相关阅读:
    升级xcode7.0 第三方库不能用的解决方法(bitcode是什么鬼?)
    java调用C#的dll
    微信JS SDK Demo
    【jQuery】smartMenu右键自定义上下文菜单插件(似web QQ)
    搭建Windows SVN服务器及TortoiseSVN使用帮助和下载
    微信jsSDK开发
    用c#开发微信(10) JSSDK 基本用法 分享接口“发送到朋友”
    MVC4.0网站发布和部署到IIS7.0上的方法
    C#的事件处理机制
    ASP.Net MVC开发基础学习笔记(1):走向MVC模式
  • 原文地址:https://www.cnblogs.com/bi-hu/p/14846074.html
Copyright © 2011-2022 走看看