JSTL詳解(六)

          今天,我來講解下一些很重要的jstl標簽,如果運用得當,可以大大的簡化數據庫的操作,減少代碼量。首先sql標簽可以實現包括查詢、更新、事務處理和設置數據源等強大的功能。下面分別講述。

           

          <sql:setDataSource>

          <sql:query>

          <sql:update>

          <sql:transaction>

          <sql:param>

           

           

          <sql:setDataSource>

          語法:<sql:setDataSource>用來設置數據源,可以通過scope設置使用范圍,如page、application、session等。有兩種方式可以設置數據源,一種是直接使用在web中配置的數據源,只要指定jndi名就可以了(這個就不要我多講了吧,呵呵),第二種是指定所有的連接屬性。

               <sql:setDataSource

               {dataSource=”dataSourceName” |   url=”jdbcurl”

               [driver=”driverClassName”]

               [user=”userName”]

               [password=”password”]

               [var=”varName”]

               [scope=”{page|session|request|application}”]/>

          舉例:sql_datasource.jsp

          <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>

          <%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql" %>

          <%@ page contentType="text/html; charset=gb2312" language="java" %>

          <html>

          <head>

            <title>JSTL:<sql:setDataSource>的使用</title>

          </head>

          <body bgcolor="#FFFFFF">

          創建普通的數據源:<br>

          <sql:setDataSource

            var="ds1"

            driver="com.mysql.jdbc.Driver"

            url="jdbc:mysql://localhost:3306/jstlTest"

            user="jstl"

            password="jstl"

          />

          從jndi名稱空間中獲得一個數據源。<br>

          <sql:setDataSource

            var="ds2"

            dataSource="jdbc/ds2"

          />

          </body>

          </html>

           

           

          <sql:query>

          作用:不用說都知道了,數據庫操作中最頻繁的查詢。

          語法:a、沒有body

                   <sql:query sql=”sqlQuery”

                   Var=”varName” [scope=”{page|session|request|application}”]

                   [dataSource=”dataSourceName”]

                   [maxRows=”maxRows”]

                   [startRow=”startRow”] />

                b、有一個body ,并在body 中指定了查詢需要的參數

                   <sql:query sql=”sqlQuery”

                   Var=”varName” [scope=”{page|session|request|application}”]

                   [dataSource=”dataSourceName”]

                   [maxRows=”maxRows”]

                   [startRow=”startRow”] >

                   <sql:param> actions

                   </sql:query>

                c、有body,并且可以指定可選的參數(< sql:param >在后面講述)

                   <sql:query sql=”sqlQuery”

                   Var=”varName” [scope=”{page|session|request|application}”]

                   [dataSource=”dataSourceName”]

                   [maxRows=”maxRows”]

                   [startRow=”startRow”] >

                   query

                   optional<sql:param> actions

                   </sql:query>

           

          舉例:sql_query.jsp

          <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

          <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>

          <%@ page contentType="text/html; charset=gb2312" language="java" %>

          <html>

          <head>

            <title>JSTL:<sql:query>的使用</title>

          </head>

          <body bgcolor="#FFFFFF">

          <sql:setDataSource

            var="ds2"

            dataSource="jdbc/ch12"

          />

          第一種查詢:<hr>

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

              SELECT * FROM sql_test

          </sql:query>

          <table border="1">

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

            <tr>

              <td>Name: <c:out value="${row.id}"/></td>

              <td>mobile: <c:out value="${row.power}"/></td>

            </tr>

            </c:forEach>

          </table>

          <hr>

          第2種查詢:<hr>

          <sql:query var="query2" sql="SELECT * FROM sql_test where id=?" dataSource="${ds2}">

             <sql:param value="01"/>

          </sql:query>

          <table border="1">

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

            <tr>

              <td>Name: <c:out value="${row.id}"/></td>

              <td>mobile: <c:out value="${row.power}"/></td>

            </tr>

            </c:forEach>

          </table>

           

          </body>

          </html>


          posted on 2007-06-13 10:34 chenguo 閱讀(205) 評論(0)  編輯  收藏 所屬分類: 組件 標簽使用

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導航

          統計

          留言簿

          隨筆分類(1)

          文章分類(52)

          好友 小山的博客

          最新隨筆

          最新評論

          主站蜘蛛池模板: 昌宁县| 阳原县| 察隅县| 遂溪县| 乐亭县| 北宁市| 濮阳市| 湾仔区| 长武县| 玛曲县| 周至县| 德阳市| 明光市| 太白县| 启东市| 伽师县| 县级市| 梨树县| 雅江县| 文安县| 海阳市| 临夏市| 霸州市| 黄石市| 连南| 无锡市| 长葛市| 自治县| 兴海县| 沁源县| 萍乡市| 靖西县| 郸城县| 巫山县| 白河县| 琼海市| 宜兴市| 盐山县| 达孜县| 扶绥县| 化德县|