自定义JSP标签是用来替代JSP中的Java程序片段的有效途径。大多数web应用的JSP文件常常要实现一些通用的功能。为了提高web应用的开发效率,SUN公司制定了一组标准标签库的规范,这组标准标签库称为JSTL(JSP Standard Tag Library)。
JSTL标签库实际上包含5个不同的标签库。JSTL1.1规范为这些标签库的URI和前缀做了约定。
标签库名 | 前缀 | URI | 描述 |
Core | c | http://java.sun.com/jsp/jstl/core | 核心标签库,包含一般用途的标签、条件标签、迭代标签和URL相关的标签 |
I18N | fmt | http://java.sun.com/jsp/jstl/fmt | 包含编写国际化web应用的标签,以及对日期、时间和数字格式化的标签 |
Sql | sql | http://java.sun.com/jsp/jstl/sql | 包含访问关系数据库的标签 |
Xml | x | http://java.sun.com/jsp/jstl/xml | 包含对XML文档进行操作的标签 |
Functions | fn | http://java.sun.com/jsp/jstl/functions | 包含了一组通用的EL函数,在EL表达式中可以使用这些EL函数 |
jstl.jar:包含在JSTL规范中定义的接口和类的class文件。
standard.jar:包含Apache开源软件组织用于实现JSTL的class文件,并且在其META-INF目录下,包含了上表列出的5个标签库的TLD文件。各个标签库的TLD文件是对库中所有标签的描述,包括标签名,标签的实现类等。
JSTL核心标签库:
Core标签库是在编写JSP文件时最常用的标签库,它包括以下标签:
标签 | 描述 |
<c:out> | 用于把一个表达式的结果打印到网页上 |
<c:set> | 用于设定命名变量的值。如果命名变量为JavaBean,还可以设定JavaBean属性的值;如果命名变量为Map类型,还可以设定与其中的key对应的值 |
<c:remove> | 用于删除一个命名变量 |
<c:catch> | 用于捕获异常,把异常对象放在指定的命名变量中 |
<c:if> | 用于实现Java中的if语句功能 |
<c:choose> <c:when> <c:otherwise> | 用于实现Java中的if-else语句功能 |
<c:forEach> | 用于遍历集合中的对象,并且能重复执行标签主体 |
<c:forTokens> | 用于遍历字符串中用特定分隔符分隔的子字符串,并且能重复执行标签主体 |
<c:import> | 用于包含其他web资源,类似<jsp:include>指令 |
<c:url> | 用于按照特定的重写规则重新构造URL |
<c:redirect> | 用于重定向 |