JSTL详解(六)

9.6  Database access 标签库

Database access 标签库中的标签用来提供在 JSP 页面中可以与数据库进行交互的功能,虽然它的存在对于早期纯 JSP 开发的应用以及小型的开发有着意义重大的贡献,但是对于 MVC 模型来说,它却是违反规范的。因为与数据库交互的工作本身就属于业务逻辑层的工作,所以不应该在 JSP 页面中出现,而是应该在模型层中进行。

对于 Database access 标签库本书不作重点介绍,只给出几个简单示例让读者略微了解它们的功能。

Database access 标签库有以下 6 组标签来进行工作: <sql:setDataSource> <sql:query> <sql:update> <sql:transaction> <sql:setDataSource> <sql:param> <sql:dateParam>

9.6.1  用于设置数据源的 <sql:setDataSource> 标签

<sql:setDataSource> 标签用于设置数据源,下面看一个示例:

<sql:setDataSource

         var="dataSrc"

         url="jdbc:postgresql://localhost:5432/myDB"

         driver="org.postgresql.Driver"

         user="admin"

         password="1111"/>

该示例定义一个数据源并保存在“ dataSrc ”变量内。

9.6.2  用于查询的 <sql:query> 标签

<sql:query> 标签用于查询数据库,它标签体内可以是一句查询 SQL 。下面看一个示例:

<sql:query var="queryResults" dataSource="${dataSrc}">

      select * from table1

</sql:query>

该示例将返回查询的结果到变量“ queryResults ”中,保存的结果是 javax.servlet.jsp.jstl.sql.Result 类型的实例。要取得结果集中的数据可以使用 <c:forEach> 循环来进行。下面看一个示例。

<c:forEach var="row" items="${queryResults.rows}">

      <tr>

               <td>${row.userName}</td>

                   <td>${row.passWord}</td>

      </tr>

</c:forEach>

rows ”是 javax.servlet.jsp.jstl.sql.Result 实例的变量属性之一,用来表示数据库表中的“列”集合,循环时,通过“ ${row.XXX} ”表达式可以取得每一列的数据,“ XXX ”是表中的列名。

9.6.3  用于更新的 <sql:update> 标签

<sql:update> 标签用于更新数据库,它的标签体内可以是一句更新的 SQL 语句。其使用和 <sql:query> 标签没有什么不同。

9.6.4  用于事务处理的 <sql:transaction> 标签

<sql:transaction> 标签用于数据库的事务处理,在该标签体内可以使用 <sql:update> 标签和 <sql:query> 标签,而 <sql:transaction> 标签的事务管理将作用于它们之上。

<sql:transaction> 标签对于事务处理定义了 read_committed read_uncommitted repeatable_read serializable4 个隔离级别。

9.6.5  用于事务处理的 <sql:param> <sql:dateParam> 标签

这两个标签用于向 SQL 语句提供参数,就好像程序中预处理 SQL 的“ ? ”一样。 <sql:param> 标签传递除 java.util.Date 类型以外的所有相融参数, <sql:dateParam> 标签则指定必须传递 java.util.Date 类型的参数。


posted on 2007-01-18 15:18 nbt 阅读(2364) 评论(1)  编辑  收藏 所属分类: HTML&CSS&JavaScript

评论

# re: JSTL详解(六) 2007-10-25 13:21 xuelei

www  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
<2007年1月>
31123456
78910111213
14151617181920
21222324252627
28293031123
45678910

导航

统计

常用链接

留言簿(3)

随笔分类

随笔档案

文章分类

文章档案

相册

收藏夹

Java技术网站

友情链接

国内一些开源网站

最新随笔

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜