JSP编程新组件JSTL怎么用

这篇文章将为大家详细讲解有关JSP编程新组件JSTL怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

创新互联专注于磐石企业网站建设,成都响应式网站建设公司,商城系统网站开发。磐石网站建设公司,为磐石等地区提供建站服务。全流程按需定制网站,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

JSTL介绍中是允许JSP程序员使用标签进行编程而不是Java代码。为了说明为什么这个是可取的,给出一个快速简单的小例子。我们就举个非常简单的例子从1数到10。我们用常规的基于scriptlet JSP网页和JSTL两种方式来制作这个网页。当这个数到10的例子是使用scriptlet JSP编制的,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语句的混合。有很多原因说明为什么这种混合式编程风格不是***的。

混合scriptlet和基于标签的代码不是***选择的主要原因是可读性。这种可读性是针对人和计算机的。JSTL允许编程者看一个由整个HTML和HTML-like标签组成的程序。

JSP scriptlet代码的可读性不仅只适用于人类。Scriptlet和HTML代码的混合也很难被计算机读取。尤其是HTML制作工具例如某个Dreamweaver和Microsoft FrontPage。目前,大多数HTML制作工具将JSP scriptlet代码作为不可编辑的块区而分离开。HTML制作工具通常不直接修改JSP scriptlet 代码。

以下代码显示如何使用JSTL编写从1数到10的这个例子。正如你所看到的,这个代码列表更连贯,因为只使用了标签。是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网页整个是由标签组成的。上述代码使用了HTML标签如< head> 和< br>。标签的使用不仅限于HTML标签。这个代码也使用了JSTL标签例如< c:forEach> 和 < c:out>。在本文中向你介绍一些JSTL的基础知识。

安装JSTL

为了使用JSTL,你必须安装JSP 1.2(或更高的版本)的容器。其中最常用的JSP容器是Apache Tomcat Web server。你可以从这里http://jakarta.apache.org/tomcat/获取一个Tomcat的副本。单独使用Tomcat可以让你使用常规的JSP scriptlet代码。为了使用JSTL, 你必须安装JSTL到Tomcat。JSTL可以从和Tomcat一样的来源获得。JSTL主要的URL是http://java.sun.com/products/jsp/jstl/。为了使用JSTL,你必须解压分配文件并把它们安装到Tomacat中的正确位置。

为了同时使用Tomcat,正确安装JSTL遵循以下三个步骤:

复制JSTL JAR文件到Tomcat的lib目录。

如果你使用Windows,你的lib目录的可能位置是C:\Program Files\Apache Tomcat 4.0\webapps\ROOT\WEB-INF\lib。JSTL发布时就有很多JAR文件包括其中。你需要复制每一个JAR文件到Tomcat JAR目录中。

复制JSTL TLD文件到Tomcat的web-inf目录web-inf目录的位置是C:\Program Files\Apache Tomcat 4.0\webapps\ROOT\WEB-INF。如果你研究JSTL分配文件,你应该注意到8个扩展名是TLD的文件。这8个文件要复制到你的web-inf目录中。

修改web.xml文件来包括TLD文件***,你必须修改你的web.xml文件,并为这8个你添加的标签库添加入径。这个由在主< web-app>指令中添加< taglib>指令。

< taglib>
< taglib-uri>http://java.sun.com/jstl/fmt< /taglib-uri>

< taglib-location>/WEB-INF/fmt.tld< /taglib-location>

< /taglib>

< taglib>

< taglib-uri>http://java.sun.com/jstl/fmt-rt< /taglib-uri>

< taglib-location>/WEB-INF/fmt-rt.tld< /taglib-location>

< /taglib>

< taglib>

< taglib-uri>http://java.sun.com/jstl/core< /taglib-uri>

< taglib-location>/WEB-INF/c.tld< /taglib-location>

< /taglib>

< taglib>

< taglib-uri>http://java.sun.com/jstl/core-rt< /taglib-uri>

< taglib-location>/WEB-INF/c-rt.tld< /taglib-location>

< /taglib>

< taglib>

< taglib-uri>http://java.sun.com/jstl/sql< /taglib-uri>

< taglib-location>/WEB-INF/sql.tld< /taglib-location>

< /taglib>

< taglib>

< taglib-uri>http://java.sun.com/jstl/sql-rt< /taglib-uri>

< taglib-location>/WEB-INF/sql-rt.tld< /taglib-location>

< /taglib>

< taglib>

< taglib-uri>http://java.sun.com/jstl/x< /taglib-uri>

< taglib-location>/WEB-INF/x.tld< /taglib-location>

< /taglib>

< taglib>

< taglib-uri>http://java.sun.com/jstl/x-rt< /taglib-uri>

< taglib-location>/WEB-INF/x-rt.tld< /taglib-location>

< /taglib>

完成以上三个步骤,你已经准备好测试你的JSTL安装。这个可以通过使用JSTL创建一个JSP网页来完成。最简单的例子就是以上所示的"count to ten"例子。你应该把你的JSP文件放到Webroot目录中(C:\Program Files\Apache Tomcat 4.0\webapps\ROOT)。一旦Tomcat服务器启动,你可以浏览http://127.0.0.1:8080/count.jsp来查看你的网页。

如果你没有正确安装JSTL,可能也没有错误信息提示。如果JSTL不能翻译你的标签,它们直接通过网页浏览器。网页浏览器将翻译这些标签作为未知的HTML标签。大多数浏览器都会忽略未知的HTML标签。

JSTL标签库

JSTL也常常作为一个单独的标签库。实际上,JSTL有4个标签库。这些标签库总结如下:

Core Tag Library—包括的标签是Web应用程序必不可少的。core tag库的例子包括循环,算式评估和基本的输入和输出。

Formatting/Internationalization Tag Library—包括的标签是用于解析代码的。其中一些标签是解析代码的,例如日期,不同的基于当前的区域。

Database Tag Library—包括的标签是用于访问SQL数据库的。这些标签通常只用于创建雏形程序。这是因为大多数程序不会从JSP网页上直接处理数据库访问。数据库访问应该置于EJBs中通过JSP网页进行访问。

XML Tag Library—包括的标签是可以用于访问XML元素。因为XML是用在很多的Web应用程序中,XML处理是JSTL一个重要的功能。

在本文中,我们只需要大概的看几个核心标签(core tags)。我们将举一个简单的例子来展示用户进入一个表格时如何处理数据。在我们进行这个程序之前,我们首先要看一看JSTL handles expressions。在JSTL中的表达式处理是通过使用EL表达式语言来完成的,像在JSP2.0中一样。在下一节中,我们将检查EL表达式语言。

EL表达式语言

JSP2.0其中一个主要的组件式叫做EL的新的表达式语言。EL广泛应用在JSTL中。但是,重点要记住的是EL是JSP的一个特征而不是JSTL的。与JSP2.0一起使用的JSP scriptlet代码包括EL表达式。以下的示范代码行是在JSP scriptlet代码中使用了EL。

       < p> 
Your total, including shipping is ${total+shipping}

正如你从以上代码中所看到的,添加了"total" 和"shipping"值并作为HTML显示而产生的。这些表达式也可以再JSTL标签中使用。JSTL1.0其中的一个重要需求就是JSTL要和JSP1.2一起使用。因为JSP1.2不支持EL, 所以又必要提供一些而外的JSTL标签以便使用EL。例如,如果你想要使用JSTL来显示以上的表达式,你可以使用以下的代码:

       < p> 
Your total, including shipping is < c:out var="${total+shipping"/>

JSTL的一个需求就是不需要JSP2.0来运行。通过提供一个可以显示EL表达式的标签,这个需求才能被满足。

JSTL示例

现在我们就来研究一个使用JSTL的简单例子。在这个例子中,我们将研究许多Web应用程序都能做到的一个常见的程序。我们将看到如何POST一个表格并从其中运行结果。能够这样做的一个简单的程序,见如下显示:

< %@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
< html>

< head>

< title>If with Body< /title>

< /head>

< body>

< c:if test="${pageContext.request.method=='POST'}">

< c:if test="${param.guess=='Java'}">You guessed it!

< br />

< br />

< br />

< /c:if>

< c:if test="${param.guess!='Java'}">You are wrong

< br />

< br />

< br />

< /c:if>

< /c:if>

< form method="post">Guess what computer language

I am thinking of?

< input type="text" name="guess" />

< input type="submit" value="Try!" />

< br />

< /form>

< /body>

< /html>

这个简单的Web网页将显示一个表格并询问用户猜一猜哪种计算机语言是程序可以考虑的。当然,计算机会考虑"Java."。本页首先要检查看是否一个POST被完成了。这使得表格和处理表格的代码放在一个单一的页面中。这个是通过以下JSTL if 语句完成的。

< c:if test="${pageContext.request.method=='POST'}">

这里你看到< c:if>标签使用了一个EL表达式来评估要求的方式是否是一个POST。如果数据被粘贴到网页,用户输入他们的猜测的值被储存在一个名字叫"guess"的参数中。这是因为"guess"被指定为表格输入条目的名字了。我们现在必须检查看一看那这个参数是否等于"Java"。这个通过以下的< c:if>标签来完成。

< c:if test="${param.guess=='Java'}"> 
You guessed it!

如你所见,如果语句评估正确,< c:if>标签的主体就被执行。在本文中,我们开始研究有关怎样安装JSTL和它是如何工作的基础知识。

JSTL的核心标签也包括了循环,反复和变量处理的标签。通过使用这些标签,你可以重复这些集合,访问用户对话数据和执行所有Web应用程序执行的其他的核心任务。除了core tag library,XML, database和formatting tag 库也提供了更先进的用途。

关于“JSP编程新组件JSTL怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


网页标题:JSP编程新组件JSTL怎么用
网页URL:http://myzitong.com/article/ggshis.html