什么是JSTL
从JSP1.1规范开始,JSP就支持使用自定义标签,使用自定义标签大大降低了JSP页面的复杂度,同时增强了代码的重用性。为此,许多Web应用厂商都定制了自身应用的标签库,然而同一功能的标签由不同的Web应用厂商制定可能是不同的,这就导致市面上出现了很多功能相同的标签,令网页制作者无从选择,为了解决这个问题,Sun公司制定了一套标准标签库(JavaServer Pages Standard Tag Library),简称JSTL。
JSTL虽然被称为标准标签库,而实际上这个标签库是由5个不同功能的标签库共同组成。在JSTL1.1规范中,为这5个标签库分别指定了不同的URI以及建议使用的前缀,如表1所示。
表1 JSTL包含的标签库
标签库 | 标签库的URI | 前缀 |
---|---|---|
Core | http://java.sun.com/jsp/jstl/core |
c |
I18N | http://java.sun.com/jsp/jstl/fmt |
fmt |
SQL | http://java.sun.com/jsp/jstl/sql |
sql |
XML | http://java.sun.com/jsp/jstl/xml |
x |
Functions | http://java.sun.com/jsp/jstl/functions |
fn |
表1中,列举了JSTL中包含的所有标签库,以及JSTL中各个标签库的URI和建议使用的前缀,接下来将分别对这些标签库进行讲解。
● Core是一个核心标签库,它包含了实现Web应用中通用操作的标签。例如,用于输出文本内容
● 的<c:out>标签、用于条件判断的<c:if>标签、用于迭代循环的<c:forEach>标签。
● I18N是一个国际化/格式化标签库,它包含实现Web应用程序的国际化标签和格式化标签。例如,设置JSP页面的本地信息、设置JSP页面的时区、使日期按照本地格式显示等。
● SQL是一个数据库标签库,它包含了用于访问数据库和对数据库中的数据进行操作的标签。例如,
● 从数据库中获得数据库连接、从数据库表中检索数据等。由于在软件分层开发模型中,JSP页面仅作为表示层,一般不会在JSP页面中直接操作数据库,因此,JSTL中提供的这套标签库不经常使用。
● XML是一个操作XML文档的标签库,它包含对XML文档中的数据进行操作的标签。例如,解
● 析XML文件、输出XML文档中的内容,以及迭代处理XML文档中的元素。XML广泛应用于Web开发,使用XML标签库处理XML文档更加简单方便。
● Function是一个函数标签库,它提供了一套自定义EL函数,包含了JSP网页制作者经常要用到的字符串操作。例如,提取字符串中的子字符串、获取字符串的长度等。