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技術網站

          友情鏈接

          國內一些開源網站

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 阿克苏市| 永州市| 孝义市| 正安县| 昭平县| 嘉兴市| 连山| 崇阳县| 都兰县| 辽宁省| 怀宁县| 周宁县| 孝感市| 瑞金市| 明溪县| 九江县| 怀来县| 临猗县| 柞水县| 文水县| 定结县| 屏山县| 新密市| 宜城市| 大连市| 当雄县| 长葛市| 鲜城| 镇原县| 阿城市| 达州市| 天镇县| 潮州市| 清苑县| 定南县| 义马市| 衡东县| 武鸣县| 独山县| 水城县| 澄城县|