快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

入门教程:JSP标准模板库(下)

JSTL标签库
JSTL通常被认为是一种单标签库。但JSTL实际上有4个标签库。这些标签库被概括为如下:

核心标签库―包含一些Web应用的必要的标签。核心标签库的实例包括循环,表达式赋值和基本输入输出。.


格式化/国际化标签库―包括被用来解析数据的标签库。这种标签会解析数据,比如日期,不同的场所区域等。


数据库标签库―包含被用来访问SQL数据库的标签。这些标签通常仅仅只创建原形(prototype)程序。这个是因为大多数程序不会直接从JSP页面中来处理数据库访问。数据库访问应该被嵌入到能够被JSP页面所访问的EJB中。


XML标签库―包含被用来访问XML元素的标签。因为XML广泛使用于Web开发,XML的处理是JSTL的一个重要的特征。
在本文中,我们将仅仅只对核心标签做一个简朴介绍。我们将考察一个简朴的范例,来说明如何处理用户在表单中输入的数据。在我们开始检查程序之前,我们必须先看看JSTL是如何处理表达式的,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}
</p>

正如你看到的,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"/>
</p>

值得注重的是,JSTL不需要JSP2.0来运行。通过提供一个能够显示EL表达式的标签,就可以达到这样的需求。

JSTL范例
我们将考察一个简朴的使用JSTL的范例。在这个例子里,我们将考察Web应用中的一个常见过程。我们会看到如何提交(POST)一个表单,并处理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”。这个页面通过检查“是否已提交”来开始。这使得表单和处理表单的代码可以放在同一个页面中。是通过下面的JSTL if语句实现的。

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

现在你看到了,<c:if>标签使用EL表达式来决定是否哀求的方法是POST的。假如数据被post到页面,那么用户输入的他们的猜想值就会存储在名为“guest”的参数中。这是因为“guest”是表单输入项的名字。我们现在必须检查是否这个参数等于“Java”。这个是通过下面的<c:if>标签来完成:

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


正如你所看到的,假如表达式为true,<c:if>标签的标签体就被执行。在本文中,我们开始考察了JSTL如何被安装,以及它是如何运转的,也提供了一些JSTL小范例帮助大家理解。

JSTL的核心标签也包含循环,叠代器和变量处理。通过使用标签,你能在collections里进行iterate,访问用户的会话数据(session data),执行其他的核心任务等。除了核心标签库,XML,数据库和格式化标签库也提供了更多高级的用处。
返回类别: 教程
上一教程: JAVA/JSP中 中文问题详解
下一教程: 让你的IIS服务器支持JSP

您可以阅读与"入门教程:JSP标准模板库(下)"相关的教程:
· 入门教程:JSP标准模板库(上)
· 入门教程:JSP标准模板库(下)
· 入门教程:JSP标准模板库(上)
· JSP初级入门教程-JSP概述
· JSP入门教程(2)
    微笑服务 优质保证 索取样品