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)

          好友 小山的博客

          最新隨筆

          最新評論

          主站蜘蛛池模板: 娱乐| 甘洛县| 册亨县| 南平市| 渭源县| 田林县| 岳阳市| 景德镇市| 奇台县| 鹤壁市| 杭锦旗| 乌兰察布市| 公安县| 七台河市| 通城县| 洪雅县| 阳泉市| 金阳县| 三江| 定日县| 南宫市| 瑞丽市| 芷江| 淮南市| 夏邑县| 阿勒泰市| 繁昌县| 鹤壁市| 修文县| 泾阳县| 报价| 星座| 维西| 鄯善县| 华亭县| 托里县| 汉川市| 平度市| 陵川县| 山阳县| 巫山县|