JSTL詳解(六)

          9.6 ?Database access 標簽庫

          Database access 標簽庫中的標簽用來提供在 JSP 頁面中可以與數(shù)據(jù)庫進行交互的功能,雖然它的存在對于早期純 JSP 開發(fā)的應用以及小型的開發(fā)有著意義重大的貢獻,但是對于 MVC 模型來說,它卻是違反規(guī)范的。因為與數(shù)據(jù)庫交互的工作本身就屬于業(yè)務邏輯層的工作,所以不應該在 JSP 頁面中出現(xiàn),而是應該在模型層中進行。

          對于 Database access 標簽庫本書不作重點介紹,只給出幾個簡單示例讓讀者略微了解它們的功能。

          Database access 標簽庫有以下 6 組標簽來進行工作: <sql:setDataSource> <sql:query> <sql:update> <sql:transaction> <sql:setDataSource> <sql:param> <sql:dateParam>

          9.6.1? 用于設置數(shù)據(jù)源的 <sql:setDataSource> 標簽

          <sql:setDataSource> 標簽用于設置數(shù)據(jù)源,下面看一個示例:

          <sql:setDataSource

          ???????? var="dataSrc"

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

          ???????? driver="org.postgresql.Driver"

          ???????? user="admin"

          ???????? password="1111"/>

          該示例定義一個數(shù)據(jù)源并保存在“ dataSrc ”變量內(nèi)。

          9.6.2? 用于查詢的 <sql:query> 標簽

          <sql:query> 標簽用于查詢數(shù)據(jù)庫,它標簽體內(nèi)可以是一句查詢 SQL 。下面看一個示例:

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

          ????? select * from table1

          </sql:query>

          該示例將返回查詢的結(jié)果到變量“ queryResults ”中,保存的結(jié)果是 javax.servlet.jsp.jstl.sql.Result 類型的實例。要取得結(jié)果集中的數(shù)據(jù)可以使用 <c:forEach> 循環(huán)來進行。下面看一個示例。

          <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 實例的變量屬性之一,用來表示數(shù)據(jù)庫表中的“列”集合,循環(huán)時,通過“ ${row.XXX} ”表達式可以取得每一列的數(shù)據(jù),“ XXX ”是表中的列名。

          9.6.3? 用于更新的 <sql:update> 標簽

          <sql:update> 標簽用于更新數(shù)據(jù)庫,它的標簽體內(nèi)可以是一句更新的 SQL 語句。其使用和 <sql:query> 標簽沒有什么不同。

          9.6.4? 用于事務處理的 <sql:transaction> 標簽

          <sql:transaction> 標簽用于數(shù)據(jù)庫的事務處理,在該標簽體內(nèi)可以使用 <sql:update> 標簽和 <sql:query> 標簽,而 <sql:transaction> 標簽的事務管理將作用于它們之上。

          <sql:transaction> 標簽對于事務處理定義了 read_committed read_uncommitted repeatable_read serializable4 個隔離級別。

          9.6.5? 用于事務處理的 <sql:param> <sql:dateParam> 標簽

          這兩個標簽用于向 SQL 語句提供參數(shù),就好像程序中預處理 SQL 的“ ? ”一樣。 <sql:param> 標簽傳遞除 java.util.Date 類型以外的所有相融參數(shù), <sql:dateParam> 標簽則指定必須傳遞 java.util.Date 類型的參數(shù)。


          posted on 2007-01-18 15:18 nbt 閱讀(2393) 評論(1)  編輯  收藏 所屬分類: HTML&CSS&JavaScript

          評論

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

          www  回復  更多評論   

          <2007年1月>
          31123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          導航

          統(tǒng)計

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          收藏夾

          Java技術(shù)網(wǎng)站

          友情鏈接

          國內(nèi)一些開源網(wǎng)站

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 儋州市| 兴隆县| 陈巴尔虎旗| 宜君县| 皮山县| 牟定县| 绍兴市| 云和县| 英吉沙县| 蓬莱市| 崇文区| 额济纳旗| 清远市| 红原县| 水城县| 合水县| 怀来县| 阿克苏市| 锡林郭勒盟| 宜良县| 娄烦县| 锡林浩特市| 汤原县| 三江| 香港 | 玉田县| 镇康县| 伊吾县| 盐城市| 民和| 泸西县| 微山县| 南丰县| 定兴县| 滨州市| 博野县| 扬州市| 青川县| 云南省| 内江市| 延安市|