简介
jsp标准模板库(jstl)是sun公司发布的一个针对jsp开发的新组件。jstl允许你使用标签(tags)来进行jsp页面开发,而不是使用多数jsp程序员已经习惯了的scriptlet代码方式开发。jstl几乎能够做到传统jsp scriptlet代码能做的任何事情。你可能会疑惑,为什么我们需要另一种这样的html生成语言呢?
stl允许jsp程序员使用tags而不是java代码来编程。为了展示为什么这个是更优越的,下面将给出示例。我们会检查一个非常简单的从1数到10的jsp页面。我们将通过两种方法来检查,一种是基于jsp的scriptlet,一种是jstl。当这个计数器页面的例子是用jsp scriptlet来编写时,jsp页面如下所示:
<html>
<head>
<title>count to 10 in jsp scriptlet</title>
</head>
<body>
<%
for(int i=1;i<=10;i++)
{%>
<%=i%><br/>
<%
}
%>
</body>
</html>
正如你在上例中看到的看到的那样,使用scriptlet代码产生的页面源代码会包含混合的html标签和java语句。这种混合型的编程方式不是最佳的方式,其主要原因有以下几点。
主要的原因是它的可读性。这个可读性主要依赖于人类和计算机。jstl可以允许程序员查看一个只包含完整html和类似html的标签的页面。
sp scriptlet代码的可读性不适合人类。这种混合的scriptlet和html代码对于计算机来说也很难读。尤其是针对那些html官方工具如dreamweaver和microsoft frontpage,所表现出来的不直观性更突出。目前,大多数html官方工具会以不可编辑块(non-editable blocks)的形式来隔离jsp scriptlet代码。这种html官方工具通常是不能直接修改jsp scriptlet代码的。
下面这段代码展示这个计数器范例如何使用jstl方式来编写。正如你所看到的,这个代码列表有不变性,仅仅一个标签被使用。html和jstl标签混合起来产生了这个程序。
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<html>
<head>
<title>count to 10 example (using jstl)</title>
</head>
<body>
<c:foreach var="i" begin="1" end="10" step="1">
<c:out value="${i}" />
<br />
</c:foreach>
</body>
</html>
当你检查上面这个例子的代码时,你会看到,jsp页面只包含标签。上面的代码使用诸如<head>和<br>这样的html标签。这种标签用法不限制于html标签。这段代码也可以使用诸如<c:foreach>和<c:out>这样的jstl标签。在本文中,将会介绍一些jstl的基础。
安装jstl
要使用jstl,你必须安装有一个jsp1.2(或者更高版本)的容器。最普通的jsp容器是apache tomcat。你能够从http://jakarta.apache.org/tomcat/这里下载到。独立的tomcat允许你使用常规的jsp scriptlet代码。要使用jstl,你必须在tomcat中安装jstl。jstl的主要url是 http://java.sun.com/products/jsp/jstl/。要使用jstl,必须解压这个文件,然后将它安装到tomcat的正确位置。
如果你使用的是windows, 那么lib目录最可能的位置是c:\program files\apache tomcat 4.0\webapps\root\web-inf\lib。你应该拷贝这些jar包到你的tomcat jar目录。
拷贝jstl tld文件到tomcat的web-inf目录中
你检查jstl发布文件时,你应该会注意到有8个文件是以tld扩展名结尾的。所有这8个文件都应该复制到你的web-inf目录中。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器