一、概念
JSTL的全称是JavaServer Pages Tag Library,我们也称之为JSP标准标签库。它是由Apache组织提供的开源的免费的jsp标签
二、作用
用于简化和替换jsp页面上的java代码
三、使用步骤:
- 导入jstl相关jar包
- 引入标签库,通过
<%@ taglib %>
这个标签引用
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
注意uri不要写错 - 使用标签
四、常用的JSTL标签
1、if
相当于java代码中的if语句
属性
test属性为必须属性,他就相当于我们if语句中的判断,这里必须填写一个结果为boolean的表达式
① 如果表达式的结果为true,则会显示if标签体内的内容,如果为false,则不会显示标签体内的内容
② 注意:
if标签没有else的情况,如果想实现这种情况的话,那么需要再定义一个if标签
举例示范
得到的结果为
2、choose
相当于java代码中的switch语句
- 使用choose标签做声明:这个就相当于switch语句
- 使用when标签做判断:它就相当于case
- 使用otherwise标签做其他情况的声明:它就相当于default
举例说明
要求
- 域中存储一个数字
- 使用choose标签取出数字
- 使用when标签做出数字判断
- 使用otherwise标签做其他声明情况
显示结果如下
3、foreach
相当于java代码中的for语句
(1)完成重复操作
属性:
- begin:开始的值
- end:结束的值
- var:临时变量
- step:步长
- varStatus:循环状态对象
① 通过这个对象调用index表示容器中元素的索引,从0开始但是用于完成重复操作的话,他和当前循环的值相同
② 通过这个对象调用count表示为当前的循环次数,从1开始
举例说明
得到的结果为
(2)遍历容器
属性:
- items:容器对象
- var:容器当中的临时变量
- varStatus:循环状态对象
① index:容器中元素的索引,从0开始
② count:循环的次数,就是第几次循环,从1开始
举例说明
得到的结果为
五、案例练习
需求:
再request域中有一个存有Person对象的List集合。需要使用jstl+el将list集合数据展示到jsp页面的表格table当中,并且实现奇数行红色,偶数行绿色的效果
效果如下:
代码实现如下: