`

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

    博客分类:
  • JSTL
阅读更多
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,数据库和格式化标签库也提供了更多高级的用处。

(End)

注:EL Expression Language这里翻译成EL表达式语言,有的是翻译成EL表达语言,是一个意思。

分享到:
评论
1 楼 zhanggepeng 2007-12-28  

相关推荐

    servlet/jsp 入门教程

    【Servlet和JSP入门教程】 本教程主要针对的是Servlet 2.4和JSP 2.0,这两个技术是构建Java Web应用的关键组件。Servlet是一种Java编程接口,用于扩展服务器的功能,而JSP(JavaServer Pages)则是一种动态网页技术...

    JSP技术手册和入门教程和语法

    **JSP技术手册和入门教程概述** JSP(JavaServer Pages)是Java平台上的一个用于构建动态网站的技术,它允许开发者将HTML代码与Java代码相结合,以创建交互式的Web应用程序。JSP技术由Sun Microsystems(现已被...

    jsp入门仓库系统--迅速学会jsp

    5. **JSP标准标签库(JSTL)**:JSTL提供了一系列预定义的标签,如fmt、sql、fn等,可以替代部分自定义Java代码,提升代码的可读性和维护性。 6. **MVC设计模式**:在仓库系统中,可能运用了Model-View-Controller...

    JSP教程从入门到精通

    ### JSP教程从入门到精通 #### 一、引言 本教程旨在为初学者提供一个全面、深入的JSP技术学习指南。JSP(JavaServer Pages)是一种基于Java技术的动态网页开发技术,它结合了HTML标记与Java代码片段,能够创建功能...

    jsp入门小知识

    JSP(JavaServer Pages)是一种由Sun Microsystems倡导并由多个公司共同参与制定的动态网页技术标准。它允许开发者在传统的HTML文件中插入Java程序片段(Scriptlets)和JSP标签(Tags),从而创建出功能强大的动态...

    JSP入门(01概述02预备知识...)

    综上所述,JSP入门教程涵盖了从基本概念到实践开发的各个环节,旨在帮助初学者快速掌握JSP技术,为构建Web应用打下坚实基础。通过学习这些内容,你可以逐步从理论到实践,逐步熟悉JSP的各个层面,从而成为一名合格的...

    jsp技术构建电子商务应用系统-从入门到提高

    1. **JSP标准标签库(JSTL)**:JSTL提供了标准的标签库,如Core、XML、SQL和Function,减少脚本代码,提高可读性和维护性。 2. **Model2 MVC模式**:结合Servlet和JSP,可以实现Model2的MVC架构,分离视图、控制和...

    web开发入门jsp技术文档

    本篇文档旨在为初学者提供一个全面的JSP入门指南。** **1. JSP简介** JSP是由Sun Microsystems公司推出的用于构建动态网站的技术,它是Java EE(企业版)的一部分。JSP将静态内容(HTML、CSS、JavaScript)和动态...

    jsp开发指南(从基础到小项目实践)

    4. **JSP标签**:包括标准JSP标签和自定义标签,可以提高代码可读性和可维护性。 ### 三、JSP与Servlet的关系 1. **JSP与Servlet转换**:JSP在首次被请求时会被服务器转换为Servlet类,然后编译并执行。 2. **...

    JSP网站建设教程(PPT)

    这个"PPT"教程应该会针对以上这些知识点进行深入浅出的讲解,是初学者入门JSP网站开发的好资料。通过学习,不仅可以掌握JSP技术,还能为后续学习更复杂的Web框架,如Spring Boot、Struts或JSF等打下坚实的基础。

    使用JSP技术构建电子商务应用系统-从入门到提高

    1. 模板技术:使用JSP的自定义标签库(Tag Libraries)或现代模板引擎如FreeMarker、Velocity,可以实现更灵活的页面设计和分离关注点。 2. MVC模式:在电商应用中,常采用MVC(Model-View-Controller)架构。JSP...

    Beetl模板引擎入门教程.pdf

    Beetl的特色之一是其FastRuntimeEngine,这使得它在处理速度上远超Freemarker、Velocity以及JSP等其他模板引擎。Beetl对IO操作进行了优化,降低了内存消耗,同时提供了丰富的上下文(Context)和JavaAPI,方便开发者...

    JSP 动态网站技术入门与提高

    JSP标准标签库(JSTL)提供了一系列预定义的标签,如`&lt;c:if&gt;`, `&lt;c:forEach&gt;`, `&lt;fmt:formatDate&gt;`等,用于简化JSP页面的编写,减少Java代码的使用。 ### JSP与JavaBean JavaBean是符合JavaBeans规范的Java类,常...

    最新JSP入门与应用

    JSP的最新版本通常指的是JSP 2.x系列,包括2.1、2.2、2.3等,这些版本引入了更高效的标签库支持、表达式语言(EL)以及页面片段的声明性处理。 **JSP入门** 首先需要了解基础概念,如JSP生命周期、指令(directives...

    PHP初学者入门教程

    **PHP初学者入门教程** PHP(Hypertext Preprocessor,超文本预处理器)是一种广泛使用的开源脚本语言,尤其在Web开发领域应用广泛。作为初学者,了解并掌握PHP是迈入网站后台编程世界的关键步骤。这个教程将帮助你...

Global site tag (gtag.js) - Google Analytics