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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值