运用 JSTL 实现快速开发

掌握Java Web开发:JSTL类库的实用指南 本文还有配套的精品资源,点击获取 简介:JSTL(JavaServer Pages Standard Tag Library)是一个标准标签库,简化了在JSP页面中处理常见任务的方式。包含 jstl.jar 和 standard.jar 两个核心组件,JSTL提供了处理流程控制、数据操作、XML处理等任务的标签。它还包含了国际化、数据库操作、HT... 阅读详情

                     运用 JSTL 实现快速开发

      在这篇文章中,我将为大家介绍一种基于JSP且灵活有趣的技术,那就是JSTL.JSTL全称为Java Server Pages Standard Tag Library.虽然JSP已经变的非常流行,但JSTL在基于SQL数据库的简单、快速的前后台开发中还是没有被广泛的应用。一旦你了解了JSTL,你就会了解到它的优点,并发现在你作为程序员的日常工作中,它已经被应用到了很多方面。我这里假设你已经熟悉HTML,能理解基本的SQL语句,和Jsp的基础知识。因为下面的内容要涉及到这些知识。

        JSTL是一个已经被标准化的标记库集合,她支持迭代、条件、XML文档的解析,国际化,和利用SQL与数据库交互的功能。起初,JSTL规范一直由JCP(Java Community process program)组织下的JSR #52 发展完善,"JCP肩负着Java 技术发展的重任"--官方网站这样评价。JCP作为一个开放性的组织,他同时吸收正式的会员和非正式会员.JCP对于Java技术规范的形成与发展发挥了重要的主导作用。JSTL主要包括四个基本部分的标记库:Core,XML,国际化,和对SQL的支持。由于这篇文章的主要是以其中的SQL部分的应用来快速了解JSTL,所以我们这篇文章只介绍了 Core和SQl标签库的一些基本功能。

        这项技术简单而且功能强大,足以和PHP、ColdFusion一较高下.他在拓展Java的应用领域方面有足够的能力,这些领域不只包括大型的可再升级的Web应用程序,对于仅拥有简单主页的Web程序一样没问题。这允许你在建立站点的时候可以避免那些经常考虑的XML的集成和与数据库的连接。正如我刚才提到的一样,JSTL的关键点就是简单易用。还有,那就是JSTL是基于JSP构建的, 他允许我们使用所有的Java技术,这一点我们有必要记住。

      开始之前,我们需要弄清楚怎样才能运行JSTL.由于是基于JSP技术的,所以我们运行它就需要一个能够编译JSP的容器,这里我们使用免费的JSP容器:TOMCAT(http://jakarta.apache.org/tomcat/index.html).至于如何安装这个产品已经超出了本文所讲述的范围。毫无疑问,这个软件产品现在已经很普及了,而且关于如何安装的文档资料也是很多。这里假设您已经安装并成功配置了这个容器,你只需再安装JSTL运行所需文件即可,它可以从这里下载http://jakarta.apache.org/taglibs/doc/standard-doc/intro.html你不需要真正的安装它,只需要将其中的.JAR文件包含到你的应用程序的WEB-INF/lib目录下即可,稍后我会具体说到该怎么做.

     因为我们要在一个支持标准SQL的数据库上运行程序,你需要在你的电脑上安装有一个数据库。数据库的类型有许多种,这里我选择了MySql。我之所以选择他的原因在于首先,我们需要展示JSTL对于构造简单快速的应用程序领域所起的作用,同时能和一直在这个领域处于主导地位的PHP+MySql有所比较;第二点那就是MySql是可以免费下载并包含有一个针对JAVA的JDBC驱动.总之,为了使用下面的例子,你需要下载一个MYSQL服务器(http://www.mysql.com/products/mysql/index.html; MySql Connector/J JDBC驱动程序http://www.mysql.com/products/connector-j/index.html;还有就是MySql control center http://www.mysql.com/products/connector-j/index.html),这个产品可以让你非常容易的操作管理Mysql数据库文件。全部下载完成后,你需要安装mysql和mysql Control Center。另外还有就是mysql的JDBC驱动需要放到你的web应用程序中的/Web-INF/lib目录中。

      在创建程序代码之前,你需要创建并填写数据库表。关于这方面的主题文章也相当广泛,具体如何操作超出了本文的范围。这里我推荐给你我们上面提及的一个可视化的管理工具 MySQL Control Center.你可以用他来创建一个用来运行程序的测试用户,数据库以及创建一个测试表,并填写若干记录。关于登陆名及密码 数据库名称这些配置环境参数,你应该记住他们,稍后需要应用到我们的代码中。

      现在,你就可以准备创建自己的第一个JSTL应用程序了它需要我们做下面一些事情:

整个实例程序代码包括两个文件Hello.jsp和 Continue.jsp

Hello.jsp文件允许你输入数据库名称、登陆名称、登陆密码、数据库表名。Continue.jsp:接受Hello.jsp中的数据信息并且连接数据库,并对数据库中的表执行一个Select请求.


        下面是这个系统所有的代码文件,我将逐一进行解释。这些代码相当简单,对于代码的结构,我相信你即使没有我的解释你也能理解的.

1: <!-- Hello.jsp -->
2: <html>
3: <head>
4:   <title>Hello</title>
5: </head>
6: <body bgcolor="#ffffff">
7: <h1>Please, enter all necessary information and click OK.</h1>
8: <form method="post" action="Continue.jsp">
9: <br>Your login to database:
     <input type="text" name="login" size="15">
10: <br>Your password to database:
      <input type="password" name="password" size="15">
11: <br>Your database name:
      <input type="text" name="database" size="15">
12: <br>Your database table:
      <input type="text" name="table" size="15">
13: <br><br><input type="submit" name="submit" value=" OK ">
14: </form>
15: </body>
16: </html>

(请注意文本左侧的数字只是为你提供一些标记信息,你不需要将他们输入到你的代码文件中。)

上面就是所有Hello.jsp的源代码,很惊奇吧,他仅仅是纯粹的HTML代码,就这么简单,我想应该没有注释的必要了.我之所以将这些代码片段包含进文章中就是为了展示一下JSTL集成到那些需要快速扩充额外功能的HTML站点中是多么的简单.让我再为你展示一下Continue.jsp的全部代码,看过之后,你就会对 JSTL有些了解了。

1: <!-- Continue.jsp -->
2: <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
3: <@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql" %>
4: <c:set var="h" value="localhost"/>
5: <c:set var="l" value="${param.login}"/>
6: <c:set var="p" value="${param.password}"/>
7: <c:set var="d" value="${param.database}"/>
8: <c:set var="t" value="${param.table}"/>
9: <html>
10: <head>
11:   <title>Continue</title>
12: </head>
13: <body bgcolor="#ffffff">
14: <sql:setDataSource driver="com.mysql.jdbc.Driver"
         url="jdbc:mysql://${l}/${d}?user=${u}&password=${p}"/>
15: <sql:query var="result">
16:   SELECT * FROM <c:out value="${t}"/>
17: </sql:query>
18: <c:forEach var="row" items="${result.rowsByIndex}">
19:   <c:out value="${row[0]}"/> <br>
20: </c:forEach>
21: </body>
22: </html>

(请注意文本左侧的数字只是为你提供一些标记信息,你不需要将他们输入到你的代码文件中。)

 这就是我们所有的代码了,是不是非常不错?现在我门来解释一下上面这些代码的作用。

行1 是  HTML 的注释说明。

行2--3 这些 JSP  标签是为了引用外部的 标签库,更确切的说这里是引用了JSTL库中的 Core 和SQL标签库部分。我们为他们都设置了前缀名称,以便于我们通过这些前缀名称访问被引入的标签库中的功能方法。

行4---8正如 Hello.jsp 真正运行的样子,他将请求continue.jsp,Continue.jsp获得请求后就需要得到并解析来自Hello.jsp的若干变量,我们使用了这样的方式${param.YOUR_VAR}。在第4行<c:set标签,将变量${h}设置为 "localhost",第五行变量${l}将获取我们在 Hello.jsp中的login文本域中输入的信息,第6,7,8行的变量将分别获得来自Hello.jsp中用户所输入的密码,数据库名称,数据表名称。

行9--13是一些我经常用来常见HTML网页头的简单的HTML标签,马上,重要的功能马上要到了。

行14,我们试图用我们先前获得的mysql驱动程序(com.mysql.jdbc.Driver)建立数据库连接,在URL中,我们指明数据库连接所需要的参数,象数据库名称,主机名称,登陆名及登陆密码。依此,我们可以用其它任何的JDBC驱动程序连接其相对的数据库。如果我们需要连接其他的SQL数据库,只需更改这个 URL就够了。

行15--17 这里我们执行了一个Select 查询,请特别注意第16行,我们使用了另一个JSTL功能函数<c:out 用来输出我们所获取的数据表名称,这里我们同样可以使用其他的SQL命令,比如说 INSERT,DELETE,等等。要执行这些没有返回值的查询请求,你就需要使用<sql:update JSTL功能函数了。他可以直接执行他们就象<SQL:query一样,只是执行它是不需要特别指定结果变量来存储语句执行返回的结果。

行18--20 既然我们执行了上面的SELECT查询语句,我们就应该把他的返回结果显示出来。<c:forEach 就是JSTL 中一个具有迭代功能的函数,执行它时,我们通过${result.rowsByIndex}将返回的每一个数据行信息返回给变量${row},紧接着在第19行, 我们通过<c:out value="${row[0]}"/>显示返回的每个数据行的第一个数据列中的值。只要你的数据表中包含的字段,你都可以通过改变变量 ${row}中的数字大小来对请求表中的任意一个字段中的值对他们进行访问。

行21--22是HTML 页脚

   在你亲自创建JSTL应用程序过程中,可能你还没有发现它有多么的强大,但你应该能够意识到JSTL的功能函数的简单和高效性,试想有了JSTL,整合出一个基于SQL的新闻专栏是何等的快速,集成你现有的web站点是何等的容易。


    很好,我们的代码很容易理解的,即使一个非专业程序员的话,打个比方就算是一个设计师也能够读懂它,理解它,还可能进行部分的修改,起码是页面布局上的修改。

    正如我们开始的时候所提到的,为了使我们的JSTL代码正常的运行,我们需要安装Mysql Connector/J 中的JAR 文件,当然还有 JSTL。因为我们使用了Tomcat这个JSp 容器,你需要在Tomcat的文件目录Webapps下创建你自己的文件夹,将你的Hello.jsp  、Continue.jsp文件放在你创建的文件目录中,在你创建的目录中你还要创建一个叫做WEB-INF 的文件夹,将你的配置文件Web.xml放在里面,web.xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
  PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
         "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app />
接下来我们还需要在WEB-INF下创建一个叫做lib的子目,并将下列文件放进去:

jstl.jar
saxpath.jar
standard.jar
mysql-connector-java-3.0.9-stable-bin.jar (注意,这个名称依据你的Mysql Connector/J版本不同可能会有所变化) 

      所有的这些信息您能够在JSTL或Tomcat手册中查阅的到,如果你想理解他们具体是如何运行而又为什么这么运行你就应该研读一下这些手册。不过为了帮助你快速的掌握JSTL的基本操作,相关的知识我已经作了介绍。

      如果你使用的是其他的Jsp 容器,那么就需要你阅读他们相关的手册资料。

      罗罗索索这么多,我还想再说明一点,这篇文章只是对JSTL技术的基本的介绍,并不是完全手册。JSTL中包含有许多功能丰富的函数用法来帮助你以简捷快速的方式完成你的Jsp开发,我建议大家读一些有关JSTL功能以及它如何与JavaBeans协同工作的更详细的文档资料,到最终你可能会发现他就是你期待已久的开发平台。通过阅读本篇文章,你应该已经能够创建一些简单的基于SQL 数据库的前后台应用了。

    Translated by windowsDNA  2004/1/6




       

 

 

掌握JSTL与Standard库:快速提升JSP开发效率 JSTL(JavaServer Pages Standard Tag Library)是为了解决JSP页面中常见的复杂问题而设计的一个标准标签库,它在1.2版本中达到了一个新的成熟度。JSTL为JSP页面提供了一组自定义标签,这些标签可以帮助开发者执行通用的任务,如变量的设定和迭代、条件判断、国际化处理等,同时减少了脚本代码的使用。相对于早期版本,JSTL 1.2引入了一些新特性,包括更好的国际化支持和对XML处理的增强。这些新特性与原有的优势相结合,使得JSTL成为了一个功能强大且易于维护的库。 阅读详情

相关推荐

Eclipse中JSTL的正确导入与配置指南

jstl.jarJSTL核心标签库提供了开发Web应用时的基础设施,它分为几个不同的子库,每个子库关注不同的功能领域。core子库:处理变量、执行条件和循环控制,包括基本的输出操作。fmt子库:提供格式化和国际化处理,用于日期、时间、数字和消息的格式化。function子库:包含一组通用的JSTL函数,可以用于字符串处理、数学运算等。sql子库:允许在JSP页面中直接执行SQL语句,进行数据库操作。xml子库:提供一系列的XML处理功能,如对XML文档的解析和XSLT转换。

weixin_35094083的博客 1195

Jsp-Servlet笔记

简单记录jsp-servlet相关内容 Servlet 概述 Servlet是Server和Applet的缩写,意思是服务端小程序。 Servlet是一种按照Servlet标准来开发的JAVA类,主要运行在服务器端,并由服务器调用执行。 Servlet的创建、使用、销毁都由提供Servlet功能的服务器来管理(Tomcat)。 Servlet可以处理HTTP协议相关的所有内容,是一种用于开发动态Web资源的技术。 Servlet的实现 实现Servlet规范,即继承HttpServlet类 满足Ser

笔记|思路|总结 334

莆田市C++专项选拔第一轮题4

现在小明同学想要从两堆硬币中各选择一枚硬币,使得两枚硬币的面值之和 不超过 k。不同的硬币组合,就算面值相同,也视为不同的方案。现在他把这些硬币分成了两堆,已知两堆硬币分别有 n 和 m 枚硬币。可选方案有: (1,2), (1,1), (1,1), (5,2), (5,1), (5,1),共 6 种。第一行三个整数 n, m, k,分别表示第一堆硬币的数量,第二堆硬币的数量,以及面值之和的上限。对于30%的数据,1 ≤ n , m ≤ 1000 , 1 ≤ b , c ≤ 1000。

lpstudio的博客 924

JSTL详解

一JSTL概述        (1)什么是JSTL        JSTL是Java中的一个定制标记库集。JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功 能。JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它 还提供了一个框架来使用集成JSTL的自定义标签。        (2

错觉 3万+

主流双目相机技术参数横向评测:从ZED到国产新锐

本文对主流双目相机技术参数进行了横向评测,涵盖ZED、Bumblebee等国际品牌及国产新锐产品。详细分析了分辨率、帧率、视场角等关键参数,并针对机器人导航、AR/VR交互、工业检测等场景提供选型建议。特别推荐ZED相机在科研领域的成熟应用,以及国产方案在长基线设计和主动双目技术上的创新突破。

weixin_33670786的博客 317

制造业信息化的现实困局与未来展望:从基础到数字化的挑战与机遇

随着全球科技的发展和市场竞争的加剧,制造业的转型升级成为企业必须面临的挑战。在信息化和数字化的浪潮下,许多企业试图通过技术创新来提升自身竞争力。然而,现实情况是,绝大部分制造业企业的基本信息化都尚未完成,更遑论复杂的数字化。那么,制造业在信息化进程中面对哪些阻碍?未来又该如何实现从基础信息化到数字化的转型?

Yz2024的博客 2983

用JSTL实现JSP应用程序快速开发

在这篇文章中,我将为大家介绍一种基于JSP且灵活有趣的技术,那就是JSTL.JSTL全称为Java Server Pages Standard Tag Library.虽然JSP已经变的非常流行,但JSTL在基于SQL数据库的简单、快速的前后台开发中还是没有被广泛的应用。一旦你了解了JSTL,你就会了解到它的优点,并发现在你作为程序员的日常工作中,它已经被应用到了很多方面。我这里假设你已经熟悉HT

我行我能 646

在Simulink中实现一个基于SiC MOSFET的高效率电机驱动系统

本文介绍了在Simulink中构建基于SiC MOSFET的高效率电机驱动系统的详细流程。系统由直流电源模块、SiC MOSFET逆变器模块、PMSM电机模型、控制策略模块(包括矢量控制和PWM生成)以及反馈测量模块组成。文章逐步指导了从模型创建到参数设置的完整过程,包括各模块的具体实现方法。通过仿真可以评估系统在不同负载条件下的响应速度、效率、功率密度等性能指标。该建模方法为电机驱动系统的设计和优化提供了有效工具,同时建议根据实际硬件规格和工程需求进行参数调整和定制化开发。

xiaoheshang_123的博客 248

IDEA配置JSTL与简单使用

快速1.IDEA配置JSTL1.1 首先下载JSTL1.2 导入jar包2. JSTL简单实用2.1 taglib2.2 1.IDEA配置JSTL 1.1 首先下载JSTL 下载地址 以1.1.2版本为例,解压将lib下的两个jar包放在工程WEB-INF下的lib中: From: To: 注意:刚复制过来的jar包是不能打开的,也就是红框中两个jar左边没有折叠图标。 1.2 导入jar包...

dongzhensong的博客 9895

Claude Code 100个真实案例 - 用AI搭建LangChain多工具Agent(自主搜索+查询)

本案例展示如何使用 Claude Code 搭建一个 LangChain 多工具 Agent 系统。Agent 能够自主决定调用搜索引擎、数据库查询、天气查询、计算器等工具,像人类助手一样拆解问题并逐步解决。

yueyeguzhuo的专栏 557

第4章--CANoe library开发 - 诊断功能

因为专栏要做的是汽车ECU自动化测试程序,测试的是ECU的诊断和刷新,因此就需要利用CANoe的接口,开发一些方便使用的诊断报文收发函数。

j187067046的博客 1396

JSP之自定义jstl标签

让你秒懂自定义jstl标签😉😉

weixin_65474399的博客 2485

基于 Python + Flask + Echarts 的疫情监控系统

基于 Python + Flask + Echarts 的疫情监控系统

743

jstl mysql_用JSTL实现JSP应用程序快速开发_MySQL

JSTL在这篇文章中,我将为大家介绍一种基于JSP且灵活有趣的技术,那就是JSTL.JSTL全称为Java Server Pages Standard Tag Library.虽然JSP已经变的非常流行,但JSTL在基于SQL数据库的简单、快速的前后台开发中还是没有被广泛的应用。一旦你了解了JSTL,你就会了解到它的优点,并发现在你作为程序员的日常工作中,它已经被应用到了很多方面。我这里假设你已经...

weixin_34679596的博客 144

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【Java 进阶篇】用JSTL玩转Java:了解JSTL常用标签

在深入研究JSTL的常用标签之前,让我们先了解一下JSTL是什么以及为什么我们需要它。JSTL是JavaServer Pages的标准标签库,旨在简化在JSP页面中执行常见任务的编程。它包含了一组标签,用于处理数据、控制流程和动态生成内容。JSTL的主要优势在于它的可读性和可维护性,使开发者能够更轻松地将业务逻辑与界面分离,提高了代码的可重用性。

繁依Fanyi的博客 1530

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Jsp技术入门指南【九】详细讲解JSTL

在之前的博客中,我们已经深入剖析了JSP页面的核心结构,从基础语法到动态交互的实现,逐步揭示了动态网页开发的底层逻辑。通过这些内容的学习,相信我们已经对JSP的开发有了更清晰的认识,并且掌握了高效开发动态Web应用的关键技能。接下来,我们将继续深入JSP的世界,探索JSTL的强大功能。JSTL(JavaServer Pages Standard Tag Library)是JSP开发中不可或缺的重要工具,它提供了一组标准化的标签,用于简化JSP页面的开发过程。

2402_83322742的博客 1243

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

JSTL快速入门

JSTLJSPStandardTagLibrary的缩写,即JSP标准标签库,是sun的一套标准。.jsp页面上使用JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。...

qq_40503077的博客 287

IDEA配置JSTL

IDEA配置JSTL 下载JSTL 官网下载地址:https://tomcat.apache.org 翻到下面找到: 点击,download 下载下面内容:(就Impl和Spec) 配置JSTL 将两个下好的jar包放在lib文件夹下 ctrl+shift+alt+s打开Project Structure 左侧找到Modules-> 右侧选择Dependences-> 点击➕号Library-> 点击java-> 选中WEB-INF中的lib文件夹-> 点击最

阿俊仔的博客 4014

EL和JSTL快速入门

EL:Expression Language 作用:快速输出JavaBean的值  ,也可用于关系运算(参考下面el_demo.jsp) 格式:${标识符} 原理:通知JSP引擎调用pageContext.findAttribute()方法,以标识符为关键字从各个域对象中获取对象。如果域对象中不存在标识符             所对应的对象,则返回结果为””(注意,不是null)。 来控

不因俊俏难为友,正为风流始读书 512

jstl java_什么是jstl

JSTL全称JavaServer Pages Standard Tag Library,中文意思为“JSP标准标签库”,是一个不断完善的开放源代码的JSP标签库。开发人员可以利用这些标签取代JSP页面上的Java代码,从而提高程序的可读性,降低程序的维护难度。JSTL(Java server pages standarded tag library,即JSP标准标签库)是由JCP(Java com...

weixin_29879697的博客 396
下一篇: 队列Queue:一个被遗失的java.util类(完)
windowsDNA
博客等级 码龄23年 1粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值