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 閱讀(2397) 評論(1)  編輯  收藏 所屬分類: HTML&CSS&JavaScript

          評論

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

          www  回復  更多評論   

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

          導航

          統計

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          收藏夾

          Java技術網站

          友情鏈接

          國內一些開源網站

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 寻乌县| 邹平县| 义乌市| 拉萨市| 涪陵区| 行唐县| 个旧市| 军事| 湖州市| 织金县| 大竹县| 页游| 和静县| 丹寨县| 长葛市| 莱芜市| 望江县| 社会| 马山县| 田东县| 颍上县| 黄骅市| 安龙县| 图们市| 西宁市| 宿松县| 绥江县| 长治市| 永新县| 榕江县| 军事| 淅川县| 饶平县| 盐池县| 普兰店市| 马龙县| 广元市| 贵定县| 会东县| 绥江县| 竹溪县|