5_JSTL核心标签库
JSTL核心标签
认识JSTL
为什么需要学习JSTL
通过之前的案例我们发现,就算在JSP中可以使用EL表达式取出域对象中的数据,但是仍然避免不了还是要在页面中书写一些java代码.这种嵌入JAVA代码的处理比较繁琐,容易出错,且代码不容易维护.
什么是JSTL
JSTL(Java server pages standarded tag library,即JSP标准标签库)是由JCP(Java community Proces)所制定的标准规范,它主要提供给Java Web开发人员一个标准通用的标签库,并由Apache的Jakarta小组来维护。
使用JSTL的好处:
开发人员可以利用JSTL和EL来开发Web程序,取代传统直接在页面上嵌入Java程序的做法,以提高程序的阅读性、维护性和方便性。在jstl中, 提供了多套标签库, 用于方便在jsp中完成或简化相关操作.
JSTL标签库的组成部分
>核心标签库: core, 简称c
>格式化标签库: format, 简称fmt
>函数标签库: function, 简称fn
JSTL的使用前提
1需要在项目中导入jstl-1.2.jar ,jstl在后台由java代码编写, jsp页面中通过标签进行使用, 使用标签时, 会自动调用后台的java方法,
2标签和方法之间的映射关系在对应的tld文件中描述. 需要在页面中通过taglib指令引入对应的标签库, uri可以在对应的tld文件中找到
核心标签库导入的语句为:
操作域对象的标签:
<c:set> 向域对象中放入数据 setAttribute
<c:out> 从域对象中取出数据 getAttribute
<c:remove> 从域对象中移除数据 removeAttribute
c:set/out/remove标签的使用
多条件分支标签
c:if和c:choose标签的使用
迭代标签
c:foreach打印99乘法表
c:forEach中的属性
> var: 迭代变量, 存放在pageContext作用域
> begin: 迭代起始值
> end: 迭代结束值
> step: 迭代变量变化的步长
c:foreach遍历对象数组/List
items: 要遍历的集合, 需要使用EL表达式取值
varStatus: 迭代变量的状态
index: 索引, 从0开始
count: 计数, 从1开始
first: boolean, 表示是否是第一个
last: boolean, 表示是否是最后一个
current: 对象, 当前迭代的对象值
后台代码