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 }

JSP 标准标签库(JSTL)之最常用的JSTL标签总结的更多相关文章

  1. JSTL教程 [JSP 标准标记库]

    JSTL教程- - JSP 标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断.数据管理格式 ...

  2. Struts2的标签库(一)——使用Struts2的标签库

    Struts2的标签库(一) --使用Struts2的标签库 1.Struts2的标签库其实就是一个自定义的标签库,所以它也有它的标签处理类和标签库定义文件: 2.和所有自定义标签一样,我们可以找到S ...

  3. JSTL 标准标签库 (JavaServer Pages Standard Tag library, JSTL)

    JSP标准标签库(JavaServer Pages Standard Tag Library,JSTL)是一个定制标签库的集合,用来解决 像遍历Map或集合.条件测试.XML处理,甚至数据 库访问和数 ...

  4. C++标准模板库(STL)常用介绍

    1. 输入输出 C++既可以用C的scanf和printf,也可以用新增的的cin与cout,后者速度慢 1.1 C程序中输入输出 int a; scanf("%d",&a ...

  5. JSP标准标签库(JSTL)--JSTL简介与安装

    对于MVC设计模式来讲,我们一直强调,在一个JSP钟scriptlet代码越少越好,但是只靠以前的概念很难实现,因为标签的开发特别麻烦,所以为了简化标签,也为了让标签更具备一些通用性,所以一般在开发中 ...

  6. JSP 标准标签库(JSTL)(JSP Standard Tag Library)

    [1] JSTL简介    > JSTL是JSP的标准标签库    > JSTL为我们提供了一些常用的标签,供我们日常开发使用(if . if...else .遍历 . 日期格式化)   ...

  7. JSP 标准标签库(JSTL)

    JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...

  8. JSTL(JSP标准标签库)

    JSP标准标签库(JavaServer Pages Tag Library, JSTL)是一个定制JSP标签库的集合,封装了JSP应用的通用核心功能.用来解决像遍历Map或集合.条件测试.XML处理, ...

  9. JSP标准标签库(JSTL)

    JSTL:JSP Standard Tag Library:JSP标准标签库 以下内容引用自http://wiki.jikexueyuan.com/project/jsp/standard-tag-l ...

  10. JSP标准标签库(JSTL)--国际化标签库 fmt

    JSTL中使用fmt.tld作为格式化标签库的定义文件 No. 功能分类 标签名称 描述 1 国际化标签 <fmt:setLocale> 设置一个全局的地区代码 2 <fmt:req ...

随机推荐

  1. JS 的 call apply bind 方法

    js的call apply bind 方法都很常见,目的都是为了改变某个方法的执行环境(context) call call([thisObj[,arg1[, arg2[,   [,.argN]]]] ...

  2. Linq查询操作之Where筛选

    筛选操作where能够处理逻辑运算符组成的逻辑表达式.比如逻辑“与”,逻辑“或”,并从数据源中筛选数据,它和where子句的功能非常相似.Enumerable类的Where()原型如下: public ...

  3. [水煮 ASP.NET Web API2 方法论](3-5)路由约束

    问题 怎么样限制路由中参数的值. 解决方案 ASP.NET WEB API 允许我们通过 IHttpRouteConstraint 接口设置路由约束.集中式路由和直接式路由都可以使用 IHttpRou ...

  4. 如何理解css中的float

    最近一段时间一直在为一个即将上线的新站进行一些前端开发.自然,对CSS的使用是必不可少的了.我们在CSS 中很多时候会用到浮动来布局.常见的有 float:left 或者 float:right .简 ...

  5. 关于迭代器中IEnumerable与IEnumerator的区别

    首先是IEnumerable与IEnumerator的定义: 1.IEnumerable接口允许使用foreach循环,包含GetEnumerator()方法,可以迭代集合中的项. 2.IEnumer ...

  6. 用C#打开文件对话框的方法和简单使用的程序

  7. 与众不同 windows phone (41) - 8.0 相机和照片: 通过 AudioVideoCaptureDevice 捕获视频和音频

    [源码下载] 与众不同 windows phone (41) - 8.0 相机和照片: 通过 AudioVideoCaptureDevice 捕获视频和音频 作者:webabcd 介绍与众不同 win ...

  8. spring详解(1)

    1.  什么是spring? Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发 ...

  9. c++中stl容器的常用示例

    1. set(集合)——包含了经过排序了的数据,这些数据的值(value)必须是唯一的. 也就是说输入set容器后得到数据,会去重并排序.    s.insert()插入一个元素    s.begin ...

  10. IT外包行业与职业发展

          在IT行业,总是有一些IT外包公司的存在,凡是存在的都是合理的.当你做为IT从业人员应该尽量避免去外包公司工作 .特别是你从事软件开发工作.     先来说说缘由,一些外包公司本来是从事软 ...