一.为什么使用jstl?
1. 保持程序良好的可读性。
2.复用性强,可以实现分层的思想。
3.扩展性好,更加规范,遵循xml标准
4.简化页面
二.jstl的含义,包含那些标签?他们的语法格式是什么?
JSP 标准标签库包含:核心标签库,I18N与格式化标签库,数据库访问标签库,XML处理标签库,函数标签库。
JSTL
,
JavaServer Pages Standard Tag Library
,即
JSP
标准标签库。它包含了在开发
JSP
页面时常
用到的一组标准标签,如通用标签,条件判断标签和迭代标签等。
语法格式:
1
标签
用于设置作用域变量的值或者作用域变量的属性值,其语法格式分为以下两种
:
(1).
将
value
值存储到范围为
scope
的变量
variable
中。语法:
var="variable" value="value" scope="scope"/>
var
属性的值是设置的变量名
value
属性的值是赋予变量的值
scope
属性对应的是变量的作用域,可选值有
page
、
request
、
session
和
application
例如:在请求范围内将变量
curentIndex
的值设置为
8
,用
标签可以写为:
var="currentIndex" value="8" scope="request"/>
条件标签库
<c:if test
=
"condition"
var
=
"varName"
scope
=
"scope"
>
主体内容
<c:if>
JSTL
的条件标签包>括<c:if>,<c:choose>,<c:when>,<c:otherwise>
test:
判断条件
,
表达式返回
true/false
。当
condition
(可以用
EL
表达式表示)的结果为
true
时,执行主体,如果为
false
不会执行主体
var:
定义变量,该变量用于存放判断的结果,可省略
scope:
是指
var
定义的变量所在的范围,可选项有
page
、
request
、
session
、
application
,
可省略
迭代标签库
在
JSP
的开发中,经常需要对集合对象进行迭代操作,通过
标签,能在很大程度上简化
迭代操作。
<c:
forEach
var
=
"varName" it
ems
=
"collectionName"
step
=
"stepName">
varStatus
=
"varStatusName"
begin
=
"beginIndex"
end
=
"endIndex"
>
主体内容
</c::
forEach
>
step
是步长,默认为
1
,可以省略。类似于
for
循环中的
i++
items
:被迭代的集合对象
varStatus:
存放每次迭代被拿出来的对象的相关信息,如索引等
end:
遍历结束索引
var:
每次迭代被拿出来的对象
begin:
遍历开始索引