• JSP 标准标签库(JSTL)之最常用的JSTL标签总结


    JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。

    Apache Tomcat安装JSTL 库步骤如下:

    • 从Apache的标准标签库中下载的二进包(jakarta-taglibs-standard-current.zip)。下载地址:http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/
    • 下 载jakarta-taglibs-standard-1.1.1.zip 包并解压,将jakarta-taglibs-standard-1.1.1/lib/下的两个jar文件:standard.jar和jstl.jar 文件拷贝到/WEB-INF/lib/下。

    使用任何库,你必须在每个JSP文件中的头部包含<taglib>标签。

    这里只介绍俩种常用的标签。1. 核心标签,2. 时间格式化标签。

    一、核心标签。

    核心标签是最常用的JSTL标签。引用核心标签库的语法如下:

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

    (1)<c:if>

         <c:if>标签判断表达式的值,如果表达式的值为真则执行其主体内容。

    属性

    描述

    是否必要

    默认值

    test

    条件

    var

    用于存储条件结果的变量

    scope

    var属性的作用域

    page

    判断是否为空或者是否不为空:

    <c:if  test="${empty info.paymentName || info.paymentName eq ''}">
    ----
    </c:if> 
    
    <c:if test="${not empty info.paymentName && info.paymentName ne ''}">  
    ${info.paymentName}
    </c:if>

    判断的用法:

    <c:if test="${info.status eq 0}">
    支付失败
    </c:if>
    <c:if test="${info.status eq 1}">
    已支付
    </c:if>

    forEash 的应用:

    <c:forEach items="${result.newRepaymentLoanList}" var="info">
    
    <span >${info.loanQuota }</span>
    <span ><a href="<%=basePath%>project/info/${info.loanId }">查看</a>
    </c:forEach>
    <c:forEach items="${orderList}" var="info" varStatus="status">
    
    </c:forEach>

    二、JSTL格式化标签用来格式化并输出文本、日期、时间、数字。引用格式化标签库的语法如下:

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

    <fmt:formatNumber>标签有如下属性:

    属性描述是否必要默认值
    value 要显示的数字
    type NUMBER,CURRENCY,或 PERCENT类型 Number
    pattern 指定一个自定义的格式化模式用与输出
    currencyCode 货币码(当type="currency"时) 取决于默认区域
    currencySymbol 货币符号 (当 type="currency"时) 取决于默认区域
    groupingUsed 是否对数字分组 (TRUE 或 FALSE) true
    maxIntegerDigits 整型数最大的位数
    minIntegerDigits 整型数最小的位数
    maxFractionDigits 小数点后最大的位数
    minFractionDigits 小数点后最小的位数
    var 存储格式化数字的变量 Print to page
    scope var属性的作用域 page

    如果type属性为percent或number,那么您就可以使用其它几个格式化数字属性。

    maxIntegerDigits属性和 minIntegerDigits属性允许您指定整数的长度。

    若实际数字超过了maxIntegerDigits所指定的最大值,则数字将会被截断。

    有一些属性允许您指定小数点后的位数。minFractionalDigits属性和maxFractionalDigits属性允许您指定小数点后的位数。

    若实际的数字超出了所指定的范围,则这个数字会被截断。

    数字分组可以用来在每三个数字中插入一个逗号。groupingIsUsed属性用来指定是否使用数字分组。当与minIntegerDigits属性一同使用时,就必须要很小心地来获取预期的结果了。

    您或许会使用pattern属性。这个属性可以让您在对数字编码时包含指定的字符。接下来的表格中列出了这些字符。

    符号描述
    0 代表一位数字
    E 使用指数格式
    # 代表一位数字,若没有则显示0
    . 小数点
    , 数字分组分隔符
    ; 分隔格式
    - 使用默认负数前缀
    % 百分数
    ? 千分数
    ¤ 货币符号,使用实际的货币符号代替
    X 指定可以作为前缀或后缀的字符
    ' 在前缀或后缀中引用特殊字符

     (1)时间格式化。

    <fmt:formatDate value="${record.loginTime }" type="both" pattern="yyyy-MM-dd HH:mm:ss"></fmt:formatDate>
    <fmt:formatDate value="${info.lastModified }" type="date" pattern="yyyy-MM-dd HH:mm:ss"/>

     (2)金额格式化。

     新建一个NumberTest.jsp

    <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
    
    <html>
    <head>
    <title>JSTL fmt:formatNumber Tag</title>
    </head>
    <body>
        <h3>Number Format:</h3>
        <!-- 设置 balance的值为 120000.2309 -->
        <c:set var="balance" value="120000.2309" />
        <p>
            Formatted Number (1):
            <fmt:formatNumber value="${balance}" type="currency" />
        </p>
        <p>
            Formatted Number (2):
            <fmt:formatNumber type="number" maxIntegerDigits="3" value="${balance}" />
        </p>
        <p>
            Formatted Number (3):
            <fmt:formatNumber type="number" maxFractionDigits="3" value="${balance}" />
        </p>
        <p>
            Formatted Number (4):
            <fmt:formatNumber type="number" groupingUsed="false" value="${balance}" />
        </p>
        <p>
            Formatted Number (5):
            <fmt:formatNumber type="percent" maxIntegerDigits="3" value="${balance}" />
        </p>
        <p>
            Formatted Number (6):
            <fmt:formatNumber type="percent" minFractionDigits="10" value="${balance}" />
        </p>
        <p>
            Formatted Number (7):
            <fmt:formatNumber type="percent" maxIntegerDigits="3" value="${balance}" />
        </p>
        <p>
            Formatted Number (8):
            <fmt:formatNumber type="number" pattern="###.###E0" value="${balance}" />
        </p>
        <p>
            Currency in USA :
            <fmt:setLocale value="en_US" />
            <fmt:formatNumber value="${balance}" type="currency" />
        </p>
    </body>
    </html>
    <fmt:formatNumber pattern="#,##0.00" type="number" value="${loanQuota}"></fmt:formatNumber>
    <fmt:formatNumber pattern="#,##0.00" type="number" value="${loanQuota}"/>

     效果如下:

    Number Format:
    
    Formatted Number (1): ¥120,000.23
    
    Formatted Number (2): 000.231
    
    Formatted Number (3): 120,000.231
    
    Formatted Number (4): 120000.231
    
    Formatted Number (5): 023%
    
    Formatted Number (6): 12,000,023.0900000000%
    
    Formatted Number (7): 023%
    
    Formatted Number (8): 120E3
    
    Currency in USA : $120,000.23 

    嵌入菜单文件的方式等等:

    <%@include file="../meta.jsp"%>
    <jsp:include page="../top.jsp">
         <jsp:param name="menuShow" value="1" />
         <jsp:param name="showIndex" value="3" />
    </jsp:include>
    <jsp:include page="left.jsp"></jsp:include>

    读取 controller 绑定过来的值:

    ${result.past3RepayCount }
  • 相关阅读:
    java面试题
    linux下的文件目录结构
    Linux的基础命令
    Linux系统的介绍
    逻辑思维题
    37-字符的全排列
    36-螺旋矩阵
    35-面试:如何找出字符串的字典序全排列的第N种
    34-数细线
    33-求极差
  • 原文地址:https://www.cnblogs.com/liuhongfeng/p/4642584.html
Copyright © 2020-2023  润新知