从JSP1.1规范开始,JSP就支持使用自定义标签,使用自定义标签大大降低了JSP页面的复杂度,同时增强了代码的重用性。为此,许多Web应用厂商都定制了自身应用的标签库,然而同一功能的标签由不同的Web应用厂商制定可能是不同的,这就导致市面上出现了很多功能相同的标签,令网页制作者无从选择。为了解决这个问题,Sun 公司制定了一套标准标签库( JavaServer Pages Standard Tag Library),简称JSTL。
JSTL虽然被称为标准标签库,而实际上这个标签库是由5个不同功能的标签库共同组成。
1.从Apache的网站下载JSTL的JAR包。
进入http://archive.apache.org/distjakarta/taglibs/standard/binaries/"网址下载JSTL的安装包jakarta-taglibs-standard-1.1.2.zip,然后将下载好的JSTL安装包进行解压,此时,在lib 目录下可以看到两个JAR文件,分别为jstl.jar 和standard.jar。其中,jstl.jar 文件包含JSTL规范中定义的接口和相关类,standard.jar 文件包含用于实现JSTL的.class文件以及JSTL中5个标签库描述符文件( TLD )。
将jstl.jar和standard.jar这两个文件复制到chapter07 项目的lib目录下,如图所示。
由于在测试的时候使用的是<c:out>标签,因此,需要使用taglib指令导入Core标签库,具体代码如下。
<%@ taglib uri=“http://java. sun. com/ jsp/jstl/core” prefix=“c”%>
在上述代码中,taglib指令的uri属性用于指定引入标签库描述符文件的URI, prefix 属性用于指定引入标签库描述符文件的前缀,在JSP文件中使用这个标签库中的某个标签时,都需要使用这个前缀。
接下来编写一个简单的JSP文件test.jsp, 使用taglib指令引入Core标签库,在该文件中使用<c:out>标签
通过前面的讲解可以知道JSTL包含5个标签库,其中,Core标签库是JSTL中的核心标签库,包含了Web应用中通用操作的标签。本小节将针对Core标签库中常用的标签进行详细的讲解。
在程序开发中,经常需要使用if语句进行条件判断,如果要在JSP页面中进行条件判断,就需要使用Core标签库提供的<:if>标签,该标签专门用于完成JSP页面中的条件判断.
在程序开发中不仅需要使用if条件语句,还经常会使用if .else语句。为了在JSP页面中也可以完成同样的功能,Core标签库提供了<c:choose>标签,该标签用于指定多个条件选择的组合边界,它必须与<c:when>、<c:otherwise>标签一 起使用。
<c:choose>标签没有属性,在它的标签体中只能嵌套一个或多个<c:when>标签和零个或一个<c:otherwise>标签,并且同一个<c:choose>标签中所有的<c:when>子标签必须出现在<c:otherwise>子标签之前.
在JSP页面中,经常需要对集合对象进行循环迭代操作,为此,Core 标签库提供了一个<c:forEach>标签,该标签专门用于迭代集合对象中的元素,如Set、 List、 Map、数组等,并且能重复执行标签体中的内容,它有两种语法格式,具体如下。
在开发一个Web应用程序时,通常会在JSP页面中完成URL的重写以及重定向等特殊功能,为了完成这些功能,在Core标签库中,也提供了相应功能的标签.这些标签包括<c:param>、<c:redirect>和<c:url>。其中,<c:param>标签用于获取URL地址中的附加参数,<c:ur)>标签用于按特定的规则重新构造URL, <c:redirect> 标签负责重定向。
大数据2005班 任江华 11