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. 译:泛型List集合转化为DateTable的扩展方法

    译文出处:http://www.codeproject.com/Tips/867866/Extension-Method-for-Generic-List-Collection-to-Da 这段代码是 ...

  2. MVC+EF+esayui初试(一 布局加菜单显示)

    最近都在做linq+ext.net的开发.这两天想学习下MVC和ef,刚好,在看ext.js的时候也喜欢上了esayui,所以就想用mvc+ef+esayui做一个汽车网后台管理来加强下.在这里也把我 ...

  3. PHP正则表达式提取超链接及其标题

    有这么一段HTML,比较不规则的,如果要提取其中的链接地址和链接名称,怎么弄? //HTML$str = ''<a id="top8" href="http://l ...

  4. 一些java的书籍

    netty in action 中文版:http://pan.baidu.com/s/1pLnEKZL spring security-3.0.1:http://pan.baidu.com/s/1bp ...

  5. Linux修改命令提示符(关于环境参量PS1)

    关乎环境参量的四个文件/etc/profile  /etc/bashrc ~/.bashrc  ~/.bash_profile $$$:/etc/profile:此文件为系统的每个用户设置环境信息,当 ...

  6. PHP 操作socket 实现简易聊天室

    <?php $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP ); socket_bind($socket ,'127.0.0.1', ...

  7. NLog在.NET Core Console Apps中的简单应用

    什么是NLog? NLog is a free logging platform for .NET with rich log routing and management capabilities. ...

  8. postgresql 9.6 rc1发布

    postgresql 9.6 rc1发布了,意味着postgresql 9.6正式版将会越来越近了. 对于dss来说,postgresql远优于mysql,尤其是9.6新引入的并行执行,将大大提高性能 ...

  9. winform(容器、打印、对话框)

    一.布局:2个属性:Anchor:锁定位置Dock:填充位置一般Dock是与容器控件配合使用 二.容器控件:Panel:就是一个区域,类似于DIV,可以独立布局,还可以让其它控件及容器在它的内部再次布 ...

  10. apple store链接格式文档

    备份一下: The app on Appstore has specific URL format http://itunes.apple.com/[country-code]/app/[app-na ...