前言:已经很久没有上来了,在微博上猛然看到有说csdn泄露了信息,一看果然中招了,然后着急的找回密码。看了看以前的文章。发现有些写到了回复里面。现整理出来。
JSTL 全名为JavaServer Pages Standard Tag Library,这里介绍版本1.1。JSTL是由JCP(Java Community Process)所指定的标准规格,它主要提供给Java Web 开发人员一个标准通用的标签函数库。
Web 程序开发人员能够利用JSTL 和EL来开发Web 程序,取代传统直接在页面上嵌入Java程序(Scripting)的做法,以提高程序可读性、维护性和方便性。
本章中,我们将详细介绍如何使用JSTL 中各种不同的标签,将依序介绍条件、循环、URL、U18N、XML、SQL 等标签的用法,让读者对JSTL 有更深层的了解,并且能够学会如何使用JSTL。
JSTL1.1简介
JavaServer Pages Standard Tag Library (1.1 ),它的中文名称为JSP 标准标签函数库。JSTL是一个标准的已制定好的标签库,可以应用于各种领域,如:基本输入输出、流程控制、循环、XML文件剖析、数据库查询及国际化和文字格式标准化的应用等。从表7-1 可以知道,JSTL所提供的标
签函数库主要分为五大类:
(1)核心标签库 (Core tag library)
(2)I18N 格式标签库 (I18N-capable formatting tag library)
(3)SQL 标签库 (SQL tag library)
(4)XML 标签库 (XML tag library)
(5)函数标签库 (Functions tag library)
另外,JSTL 也支持EL(Expression Language)语法,例如:在一个标准的JSP 页面中可能会使用到如下的写法:
<%= userList.getUser().getPhoneNumber() %>
使用JSTL 搭配传统写法会变成这样:
<c_rt:out value=”<%= userList.getUser( ).getPhoneNumber( ) %>” />
使用JSTL 搭配EL,则可以改写成如下的形式:
<c:out value=”${userList.user.phoneNumber}” />
有关EL的知识请参考相关的资料.
安装使用JSTL 1.1
1.1 必须在支持Servlet 2.4 且JSP 2.0 以上版本的Container 才可使用。JSTL 主要由Apache组织的Jakarta Project 所实现,因此读者可以下载实现好的JSTL1.1,
将lib 中的jstl.jar、standard.jar 复制到工程的WEB-INF/lib 中,然后就可以在JSP 网
页中使用JSTL了。除了复制 .jar 文件外,最好也把tld 文件的目录也复制到WEB-INF 中,以便日后使用。
注意
lib 目录下,除了jstl.jar 和standard.jar之外,还有old-dependencies目录,这目录里面的东西是让之前JSTL 1.0 的程序也能够在JSTL 1.1 环境下使用。tld 目录下有许多TLD
文件,其中大部分都是JSTL 1.0 的TLD 文件,例如:c-1_0.tld 和c-1_0-rt.tld。
下面写一个测试用的范例程序helloJSTL.jsp,程序主要是显示浏览器的版本和欢迎的字符串。
■ helloJSTL.jsp
<%@ page contentType=”text/html;charset=GB2312″ %>
<%@ taglib prefix=”c” uri=”
http://java.sun.com/jsp/jstl/core
” %>
<html>
<head>
<title>测试你的第一个使用到JSTL 的网页</title>
</head>
<body>
<c:out value=”欢迎测试你的第一个使用到JSTL 的网页”/>
</br>你使用的浏览器是:</br>
<c:out value=”${header[‘User-Agent’]}”/>
<c:set var=”a” value=”David O’Davies” />
<c:out value=”David O’Davies” escapeXml=”true”/>
</body>
</html>
在helloJ