JSTL
Java Server Pages Standard Tag Libray(JSTL):JSP 标准标签库,是一个定制标签类库的集合,用于解决一些常见的问题,例如迭代一个映射或者集合、条件测试、
XML 处理,甚至数据库和访问数据库操作等。
核心标签库:http://java.sun.com/jsp/jstl/core 包含 Web 应用的常见工作,
比如:循环、表达式赋值、基本输入输出等。
格式化标签库:http://java.sun.com/jsp/jstl/fmt 用来格式化显示数据的工作,
比如:对不同区域的日期格式化等。
为了在 JSP 页面使用 JSTL 类库,必须以下列格式使用 taglib 指令:
<%@taglib
uri=”” prefix=””%>
例如:<%@tagliburi=”http://java.sun.com/jsp/jstl/core”prefix=”c”%>
标签的使用
If标签
if 标签先对某个条件进行测试,如果该条件运算结果为 true, 则处理它的主
体内容,测试结果保存在一个 Boolean 对象中,并创建一个限域变量来引用
Boolean 对象。可以利用 var 属性设置限域变量名,利用 scope 属性来指定其
作用范围。
if 的语法有两种形式:没有主体内容、有主体内容
无主体内容
该情况下:var 指定的限域变量由同一个 JSP 页面中后面的标签测试所决定。
有主体内容
Body contenet
主体内容为jsp,若测试条件为true,则处理jsp;
JSTL 中没有 else 标签,为了模拟 else 的情景,需要使用两个 if 标签,并
且这两个标签为 相反的条件。
choose 、when 和otherwise 标签
choose 和 when 标签的作用与 Java 中的 switch 和 case 关键字相似。
otherwise 标签用于默认的条件代码块,如果所有的 when 标签的测试条件运算结果都不为 true,就会执行该代码块。如果有otherwise 标签,它必须放在最后一个 when 标签之后,否则会报错。
choose 和otherwise 标签没有属性,when 标签则必须使用 test 属性设定
一个条件,用于确定是否处理主体内容。
…………..
forEach标签
forEach 是将一个主体内容迭代多次,或者迭代一个对象集合。可以迭代的
对象包括所有的 java.util.Collection 和 java.util.Map 接口的实现,以及对象或
者基本类型的数组。他还可以迭代 java.util.Iterator 和 java.util.Enumeration, 不能在多个动作指令中使用 Iterator 或者 Enumeration,因为 Iterator 或者
Enumeration 都不能重置(reset)。
Body content
格式化动作指令
JSTL 提供了格式化和解析数字和日期的标签,我们讨论里面有:
formatNumber、formatDate、parseNumber 及 parseDate。
fomatNumber 标签该标签用指定的格式或精度来格式化数字,
formatDate 标签使用指定的风格或模式格式化日期和时间,
parseNumber 标签
利用 parseNumber 标签可以将数字、货币或百分比的字符串表示法解析成指定语言环境的数字。即解析一个代表着数字,货币或百分比的字符串。
parseDate 标签
此标签为指定区域解析日期和时间的字符串表示法。即解析一个代表着日期或时间的字
符串。