JSP标准标签库

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在JSP中使用JSTL

.JSTL全称为Java Server Pages Standard Tag Library.虽然JSP已经变的非常流行,但JSTL在基于SQL数据库的简单、快速的前后台开发中还是没有被广泛的应用JSTL主要包括四个基本部分的标记库:Core,XML,国际化,和对SQL的支持。篇幅有限,只介绍Core和SQl标签库的一些基本功能。

由于是基于JSP技术的,所以我们运行它就需要一个能够编译JSP的容器,这里我们使用免费的JSP容器:TOMCAT.只需再安装JSTL运行所需文件即可,它可以从这里下载/taglibs/doc/standard-doc/intro.html 不需要真正的安装它,只需要将其中的.JAR文件包含到你的应用程序的

WEB-INF/lib目录下即可.

整个实例程序代码包括两个文件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代码,就这么简单,下面是Continue.jsp的全部代码。

1: <!-- Continue.jsp -->

2: <%@ taglib prefix="c" uri="/jstl/core" %>

3: <@ taglib prefix="sql" uri="/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>

行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中用户所输入的密码,数据库名称,数据表名称。

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

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

相关文档
最新文档