JSTL标签库
一、简介
Java Server Pages Standard Tag Libray(JSTL):JSP 标准标签库,是一个定制标签类库的集合,用于解决一些常见的问题,例如迭代一个映射或者集合、条件测试、XML处理,甚至数据库和访问数据库操作等。
taglib指令导入标签库
·JSTL标签一般操作域对象,变量无法操作
二、核心标签库
http://java.sun.com/jsp/jstl/core 包含Web应用的常见工作,比如:循环、表达式赋值、基本输入输出等
1、条件动作标签
·if标签
if标签可以设置返回值,返回值是boolean类型,通过var属性设置
没有主体内容格式
<c:if test="条件" var="限域变量的名称" scope="域对象的范围[page|request|session|application]"></c:if>
有主题内容格式
<c:if test="条件" var="限域变量的名称" scope="域对象的范围[page|request|session|application]">
条件满足时,显示的内容
</c:if>
·choose、when和otherwise标签
格式:
<c:choose>
<c:when test="条件语句">...</c:when>
...
<c:otherwise></c:otherwise>
</c:choose>
注意:
1、choose标签和otherwise标签没有属性
2、when标签必须要test属性
3、choose标签中只能包含when标签和otherwise标签、when标签和otherwise标签可以包含其他标签
4、choose标签中至少要有一个when标签,可以没有otherwise标签
5、otherwise标签必须放在最后一个when标签后面
6、otherwise标签只有在所有when标签都不成立时才会执行
2、迭代标签
forEach标签
·将主体内容重复打印多次
格式:
<c:forEach begin="开始循环的数" end="结束循环的数" step="循环间隔" var="被循环到的值的域对象名称">
主体内容
</c:forEach>
·迭代集合
格式:
<c:forEach items="被循环的集合/对象" var="被循环的成员的域对象名称" varStatus="被循环的成员的信息">
主体内容
</c:forEach>
遍历List集合
index 现在指到成员的索引
count 总共指到成员的总数
first 现在指到的成员是否为第一个成员
last 现在指到的成员是否为最后一个成员
三、格式化标签库
1、formatNumber标签
没有主体内容
有主体内容
type:被格式化的类型
number:数值型
percent:百分比类型,默认保留两位,四舍五入
currency:货币类型,<fmt:setLocale value=""/>可以设置地区
maxIntegerDigits:最大整数位数
maxFractionDigits:最大小数位数
var:用来接收格式化后的结果的限域变量
如果没有设置var,格式化后将直接输出,如果设置了var,需要通过表达式获取域对象的值
2、formatDate标签(格式化日期)
格式:
<fmt:formatDate value="要被格式化的值" type="被格式化的类型"/>
value:也可以用表达式从域对象中取值
type:被格式化的类型
date:日期类型,默认值
time:时间类型
both:日期+时间类型
dateStyle:显示日期的格式-FULL、LONG、MEDIUM、SHORT、DEFAULT
timeStyle:显示时间的格式-FULL、LONG、MEDIUM、SHORT、DEFAULT
pattern:显示时间的模版
timeZone:设置时区
scope:从哪个作用域
3、parseNumber标签
将数字、货币或百分比的字符串表示解析成指定语言环境的数字
标签属性
value:要解析的数字
type:Number、Currency、Percent
parseLocale:解析数字时所用的区域
integerOnly:是否只解析整数(true)或浮点数(false)
pattern:自定义解析模式
timeZone:要显示的日期的时区
var:存储带解析数字的变量
scope:var属性的作用域
4、parseDate标签
此标签为指定区域解析日期和时间的字符串表示法