欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
JSTL詳解
JSTL詳解(一)
先來(lái)搭下環(huán)境,jstl的包當然是不能少的拉。其次,下載必須的標簽庫或者是java的標簽庫文件。沒(méi)有的話(huà),也可以聯(lián)系我xxx_programer@163.com
將jstl 1.1.jar加到class中,(這就不要我詳細的講了吧),然后將標簽庫放到WEB-INF下或則將java的標簽庫文件(*.jar)放到WEB-INF\lib下,就可以寫(xiě)測試代碼了。
first_jstl.jsp
<%@ taglib prefix="c" uri="
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<c:set var="userName" value="hellking"/>
<c:set value="16" var="age"/>
歡迎您,<c:out value="${userName}"/><hr>
<c:forEach var="i" begin="1" end="5">
<font size=${i}>${i}</font>
<br>
</c:forEach>
<c:if test="${age<18}">
對不起,你的年齡過(guò)小,不能訪(fǎng)問(wèn)這個(gè)網(wǎng)頁(yè)◎!
</c:if>
<br>
</body>
</html>
web.xml
(使用java的標簽庫文件*.jar)
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="
xmlns:xsi="
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-app_2_4.xsd"
version="2.4">
<display-name>jstl test</display-name>
<description>
jstl test
</description>
</web-app>
(使用標簽庫文件*.tld)
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="
xmlns:xsi="xsi:schemaLocation="http://java.sun.com/xml/ns/j2eeversion="2.4">
<taglib>
<taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
<taglib-location>/WEB-INF/fmt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/fmt-rt</taglib-uri>
<taglib-location>/WEB-INF/fmt-rt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/c.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/core-rt</taglib-uri>
<taglib-location>/WEB-INF/c-rt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/sql</taglib-uri>
<taglib-location>/WEB-INF/sql.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/sql-rt</taglib-uri>
<taglib-location>/WEB-INF/sql-rt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/x</taglib-uri>
<taglib-location>/WEB-INF/x.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/x-rt</taglib-uri>
<taglib-location>/WEB-INF/x-rt.tld</taglib-location>
</taglib>
</web-app>
好了,一個(gè)最簡(jiǎn)單的包含有jstl的頁(yè)面設計完成了。下面測試。
http://localhost:8080/jstl/frist_jstl.jsp
頁(yè)面輸出結果:
歡迎您,hellking
1
2
3
4
5
對不起,你的年齡過(guò)小,不能訪(fǎng)問(wèn)這個(gè)網(wǎng)頁(yè)◎!
JSTL詳解(二)
一般用途的標簽
在JSTL中,一般用途的標簽只要是指具有輸出,設置變量,和錯誤處理等功能的標簽,他們在jsp中使用很頻繁,它們有:
l         <c:out>
l         <c:set>
l         <c:remove>
l         <c:catch>
下面,我來(lái)講述一下他們的作用:
<c:out>
它是一個(gè)輸出的標簽,負責把計算出的結果輸出到j(luò )spwriter,就跟調用out.println()基本一樣。沒(méi)有BODY的時(shí)候,使用下面的語(yǔ)法:
<c:out value=”value”  [escapeXml]=”{true|false}”  [default=”defaultValue”]/>
有BODY的時(shí)候,使用下面的語(yǔ)法:
<c:out value=”value”  [escapeXml]=”{true|false}” >
這里是BODY,可以是任何合法的jsp或者是html代碼。
</c:out>
注意,escapeXml的作用是是否將代碼交給xml解析器解釋?zhuān)瑃rue為交給xml解析器解釋?zhuān)琭alse為交給瀏覽器解釋?zhuān)?jiàn)紅色部分代碼
舉例:c_out.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<html>
<head>
<title>JSTL: c:out的使用</title>
</head>
<body bgcolor="#FFFFFF">
<hr>
<c:set var="sessionAttr" value="sessionValue" scope="session"/>
<c:set var="pageAttr" value="pageValue" scope="page"/>
<c:set var="requestAttr" value="requestValue" scope="request"/>
<c:out value="以下輸出的是前面設置的屬性<br>" escapeXml="false"/>
<c:out value="${sessionAttr}"/>
<c:out value="${pageAttr}"/>
<c:out value="${requestAttr}"/>
<c:out value="${test_nodef}" default="沒(méi)有test_nodef這個(gè)變量"/>
</html>
<c:set>
這個(gè)標簽用于在某個(gè)范圍(page,request,session,application)里面設置特定的值(默認為page),或者設置某個(gè)已經(jīng)存在的javabean的屬性。類(lèi)似于<%request.setAttribute(“name”,value)%>
語(yǔ)法:
1、使用value屬性設置一個(gè)特定范圍里面的屬性:
<c:set value=”value”  var=”varName” [scope= “{page|request|session|application}”]/ >
2、使用value屬性設置一個(gè)特定范圍里面的屬性,帶有BODY:
<c:set value=”value”  var=”varName” [scope= “{page|request|session|application}”] >
Body content
</c:set>
3、設置某個(gè)特定對象的一個(gè)屬性:
<c:set value=”value”  target=”target”  property=”propertyName”/ >
4、設置某個(gè)特定對象的一個(gè)屬性, 帶有BODY:
<c:set value=”value”  target=”target”  property=”propertyName” >
Body content
</c:set>
舉例:c_set.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<jsp:useBean id="user" class="com.j2ee14.ch12.User"/>
<html>
<head>
<title>JSTL:的使用c:set</title>
</head>
<body bgcolor="#FFFFFF">
<hr>
設置一個(gè)屬性,然后輸出它<br>
<c:set var="maxCount" value="100"/>
<c:out value="${maxCount}"/>
<hr>設置屬性時(shí),把它的值放在標簽的body中。
<c:set var="password">
ksdjfxsdf234234
</c:set>
<c:out value="${password}"/>
<hr>設置javaBean的屬性,然后輸出這些屬性值:
<c:set value="hellking" target="${user}" property="userName"/>
userName=<c:out value="${user.userName}"/>
<hr>設置屬性,并且指定它們的范圍,屬性的默認范圍是page。
<c:set value="20" var="maxIdelTime" scope="session"/>
<c:set value="next.jsp" var="nextPage" scope="page"/>
</body>
</html>
<c:remove>
它的作用是刪除某個(gè)變量或者屬性。類(lèi)似于<%session.removeAttribute(“name”)%>,它的語(yǔ)法是:<c:remove var=”varName” [scope= “{page|request|session|application}”]/ >
舉例:c_remove.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<html>
<head>
<title>JSTL:c:remove的使用</title>
</head>
<body bgcolor="#FFFFFF">
<c:set value="10000" var="maxUser" scope="application"/>
<c:set value="10" var="count" scope="session"/>
maxUser=<c:out value="${maxUser}"/><br>
count=<c:out value="${count}"/>
<hr>調用c:remove...
<c:remove var="maxUser" scope="application"/>
<c:remove var="count"/>
調用了c:remove后,參數值為:
maxUser=<c:out value="${maxUser}"/>,
count=<c:out value="${count}"/>,
</body>
</html>
<c:catch>
它的作用是捕捉由嵌套在它里面的標簽所拋出來(lái)的異常。類(lèi)似于<%try{}catch{}%>,它的語(yǔ)法是:<c:catch [var=”varName”]>nested actions</c:catch>
舉例:c_catch.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<html>
<head>
<title>JSTL:catch的使用</title>
</head>
<body bgcolor="#FFFFFF">
<c:catch var="error">
<%
Integer.parseInt("sdkfj");
%>
</c:catch>
<hr>異常:
<c:out value="${error}"/>
<hr>異常 exception.getMessage=
<c:out value="${error.message}"/>
<hr> 異常exception.getCause=
<c:out value="${error.cause}"/>
</body>
</html>
JSTL詳解(三)
條件標簽包括以下幾種:
l         <c:if>;
l         <c:choose>;
l         <c:when>;
l         <c:otherwise>;
下面,我來(lái)分別介紹:
l         <c:if>; 它用來(lái)做條件判斷,功能類(lèi)似jsp中的<%if(boolean){}%>
語(yǔ)法:
1、無(wú)body的情況
<c:if test=”testCondition” var=”varName” [scope=“{page|request|session|application}”]/>
2、有body的情況
<c:if test=”testCondition” var=”varName” [scope=“{page|request|session|application}”]>
Body內容
</c:if>
舉例:c_if.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<html>
<head>
<title>JSTL:c:if的使用</title>
</head>
<body bgcolor="#FFFFFF">
<c:set var="count" value="100"/>
<c:if test="${count>78}">
count>78
</c:if>
</body>
</html>
l         <c:choose>;  它是用于條件選擇,和<c:when>,<c:otherwise>一起使用,它的條件選擇是排斥性的,相當于jsp中的<%switch(i){case 0: … case 1:… default :}%>,也可以完成<%if{}…else if{}….else if{} else{} %>的功能
語(yǔ)法:<c:choose>
Body內容(<c:when>,<c:otherwise>)
</c:choose>
注意:它的body內容只能是由以下的元素組成:
1.         空格;
2.         0個(gè)或多個(gè)<c:when>子標簽,<c:when>必須在<c:otherwise>子標簽之前出現;
3.         0個(gè)或多個(gè)<c: otherwise >子標簽
l         <c:when> 它是<c:choose>的一個(gè)分支
語(yǔ)法:
<c:when test=”testCondition”>
Body內容
</c:when>
注意:它有兩個(gè)限制:
1.         必須以<c:choose>作為它的父標簽
2.         必須在<c:otherwise>標簽之前出現
l         <c:otherwise>他代表了<c:choose>的最后選擇相當于jsp的<%switch(i){case 0: … case 1:… default :}%> 中的default語(yǔ)句。
語(yǔ)法:
<c:otherwise>
Conditional block
</c:otherwise>
它的使用有兩個(gè)限制:
1.         必須以<c:choose>作為它的父標簽;
2.         必須以<c:choose>的最后分支方式出現;
<c:choose>,<c:otherwise>,<c:when>舉例:c_choose.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<c:set var="count" value="100"/>
<html>
<head>
<title>JSTL:c:choose的使用</title>
</head>
<body bgcolor="#FFFFFF">
<c:choose>
<c:when test="${count <=0}">
<font color="blue">
</c:when>
<c:when test="${count<=60&&count>0}">
<font color="red">
</c:when>
<c:otherwise>
<font color="green">
</c:otherwise>
</c:choose>
count的值是:<c:out value="${count}"/>
</font>
</body>
</html>
JSTL詳解(四)
迭代標簽的使用
如果使用scriptlets,那么,我們經(jīng)常使用Iterator或者Enumeration來(lái)進(jìn)行迭代,如:
Iterator it = collection.iterator();
while(it.hasNext()){
SomeBean someBean = (SomeBean)it.next();
out.println(someBean.getXXX());
…………..
}
在前面的一次中,我們開(kāi)發(fā)過(guò)一個(gè)迭代標簽,JSTL中也提供了對迭代進(jìn)行支持的標簽,并且,他的功能比上一章的強大的多。JSTL中的迭代標簽有兩個(gè):
l         <c:forEach>;
l         <c:forTokens>;
1、<c:forTokens>專(zhuān)門(mén)處理TokenString的迭代,可以指定一個(gè)或者是多個(gè)分隔符。由于他們使用的很少,在這里就不介紹了。
2、<c:forEach>是最常用的,他幾乎能夠完成所有的迭代任務(wù),就象jsp中的for(int i=j;i<k;i++)下面我來(lái)詳細介紹。(注意,“[]”里面的是可選條件)
語(yǔ)法:a、在Collection中迭代:
<c:forEach [var=”varName”] items=”collection”  [varStatus=”varStatusName”]
[begin=”begin”] [end=”end”] [step=”step”]>
Body 內容
</c:forEach>
b、迭代固定的次數:
<c:forEach [var=”varName”] [varStatus=”varStatusName”]
begin=”begin” end=”end” [step=”step”]>
Body 內容
</c:forEach>
舉例:c_forEach1.jsp(在Collection中迭代)
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<%@ page import="java.util.*,com.j2ee14.ch12.User"%>
<%
Collection users_c=new ArrayList();
for(int i=0;i<3;i++)
{
User user=new User();
user.setUserName("foo"+i);
user.setPassword("foo"+i);
users_c.add(user);
}
session.setAttribute("users",users_c);
%>
<html>
<head>
<title>JSTL:c:forEach的使用之一</title>
</head>
<body bgcolor="#FFFFFF"><center>
<h4>迭代某個(gè)collection中的元素。</h4>
<table border=1>
<tr><td>用戶(hù)名</td><td>密碼</td></tr>
<c:forEach var="users" items="${users}">
<tr>
<td><c:out value="${users.userName}"/></td>
<td><c:out value="${users.password}"/></td>
</tr>
</c:forEach>
</table>
</center></body>
</html>
舉例:c_forEach2.jsp(迭代固定的次數)
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<html>
<head>
<tcounttle>JSTL:c:forEach的使用之二</tcounttle>
</head>
<body bgcolor="#FFFFFF"><center>
<h4>第二種迭代:50-60</h4>
<c:forEach var="count" begin="50" end="60">
<c:out value="${count}"/> **
</c:forEach>
<h4>第二種迭代:10 to 100,step=10</h4>
<c:forEach var="count" begin="10" end="100" step="10">
<c:out value="${count}"/>**
</c:forEach>
</center>
</body>
</html>
JSTL詳解(五)
首先,感謝大家的關(guān)注,下面我來(lái)繼續講解:URL相關(guān)的標簽,他們的作用主要是負責頁(yè)面的導航、重定向、資源的獲得以及參數的傳遞等等,他們有:
l         <c:import>
l         <c:redirect>
l         <c:url>
l         <c:param>
<c:import>
作用:導入一個(gè)url的資源,相當于jsp 中的<jsp:include page=”path”>標簽,同樣也可以把參數傳遞到被導入的頁(yè)面。
語(yǔ)法:a、資源的內容使用string對象向外暴露
<c:import url=”url” [context=”context”]
[var=”varName”] [scope=”{page|request|session|application}”]
[charEncoding=”charEncoding”]>
Optional body content for <c:param> subtags
</c:import>
b、資源的內容使用redirect對象向外暴露
<c:import url=”url” [context=”context”]
varReader=”varReaderName”
[charEncoding=”charEncoding”]>
Body content where varReader is consumed by another action
</c:import>
舉例:c_import.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<html>
<head>
<title>JSTL:c:import的使用</title>
</head>
<body bgcolor="#FFFFFF">
<h3>絕對路徑 URL</h3>
<blockquote>
<ex:escapeHtml>
<c:import url="http://127.0.0.1:8080/ch12/footer.jsp"/>
</ex:escapeHtml>
</blockquote>
<h3>相對路徑并且傳遞參數到指定的URL</h3>
<blockquote>
<c:import url="footer.jsp" charEncoding="gb2312">
<c:param name="userName" value="hellking"/>
</c:import>
</blockquote>
</body>
</html>
<c:redirect>
作用:把客戶(hù)的請求發(fā)送到另一個(gè)資源,相當于jsp中的<%  request.sendRedirect(“other.jsp”)%>或者servlet中的RequestDispatch.forward(“other.jsp”)的功能。
語(yǔ)法:a、沒(méi)有body的情況
<c:redirect url=”value” [context=”context”]/>
b、有body,在body 中查詢(xún)指定的參數
<c:redirect url=”value” [context=”context”]>
<c:param> subtags
</c:redirect>
舉例:c:redirect.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<html>
<head>
<title>JSTL:c:redirect的使用</title>
</head>
<body bgcolor="#cc99cc">
<c:url value="footer.jsp" var="nextpage"><c:param name="userName" value="hellking"/></c:url>
<c:redirect url="${nextpage}"/>
</body>
</html>
<c:url>
作用:用于構造URL,主要的用途是URL的重寫(xiě)。
語(yǔ)法:a、沒(méi)有body的情況
<c:url value=”value” [context=”context”]
[var=”varName”] [scope=”{page|request|session|application}”]/>
b、有body ,并在body 中有重寫(xiě)的參數
<c:url value=”value” [context=”context”]
[var=”varName”] [scope=”{page|request|session|application}”]>
<c:param> subtags
</c:url>
舉例:c_url.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<html>
<head>
<title>JSTL c:url 的使用</title>
</head>
<body bgcolor="#FFFFFF">
<c:url var="footer" value="footer.jsp" scope="page">
<c:param name="id" value="hellking"/>
</c:url>
<c:out value="${footer}"/>
<br>另一種沒(méi)有參數的URL<br>
<c:url value="footer.jsp"/>
</body>
</html>
<c:param>
作用:它是在<c:import>,<c:redirectt>,<c:url>中添加請求的參數。和一般的參數沒(méi)什么區別。
語(yǔ)法:a、參數的值使用value屬性指定
<c:param name=”name” value=”value”/>
b、參數的值在body 中指定
<c:param name=”name”>
參數值
</c:param>
舉例:c_param.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ page contentType="text/html; charset=gb2312" language="java" %>
<html>
<head>
<title>JSTL c:param的使用</title>
</head>
<body bgcolor="#FFFFFF">
<c:redirect url="footer.jsp">
<c:param name="userName">
hellking
</c:param>
</c:redirect>
</body>
</html>
JSTL詳解(六)
SQL相關(guān)的標簽
今天,我來(lái)講解下一些很重要的jstl標簽,如果運用得當,可以大大的簡(jiǎn)化數據庫的操作,減少代碼量。首先sql標簽可以實(shí)現包括查詢(xún)、更新、事務(wù)處理和設置數據源等強大的功能。下面分別講述。
<sql:setDataSource>
<sql:query>
<sql:update>
<sql:transaction>
<sql:param>
<sql:setDataSource>
語(yǔ)法:<sql:setDataSource>用來(lái)設置數據源,可以通過(guò)scope設置使用范圍,如page、application、session等。有兩種方式可以設置數據源,一種是直接使用在web中配置的數據源,只要指定jndi名就可以了(這個(gè)就不要我多講了吧,呵呵),第二種是指定所有的連接屬性。
<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">
創(chuàng )建普通的數據源:<br>
<sql:setDataSource
var="ds1"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/jstlTest"
user="jstl"
password="jstl"
/>
從jndi名稱(chēng)空間中獲得一個(gè)數據源。<br>
<sql:setDataSource
var="ds2"
dataSource="jdbc/ds2"
/>
</body>
</html>
<sql:query>
作用:不用說(shuō)都知道了,數據庫操作中最頻繁的查詢(xún)。
語(yǔ)法:a、沒(méi)有body
<sql:query sql=”sqlQuery”
Var=”varName” [scope=”{page|session|request|application}”]
[dataSource=”dataSourceName”]
[maxRows=”maxRows”]
[startRow=”startRow”] />
b、有一個(gè)body ,并在body 中指定了查詢(xún)需要的參數
<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"
/>
第一種查詢(xún):<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種查詢(xún):<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>
JSTL詳解 (七)
SQL相關(guān)的標簽(二)
<sql:update>
作用:主要是執行插入、更新和刪除操作的標簽。另外,還有一些沒(méi)有返回結果集的sql操作也可以使用這個(gè)標簽。比如
create table tableName(id int….);
drop table tableName
grant tableName   等等。。
語(yǔ)法:a、沒(méi)有body的情況
<sql:update sql=”sqlUpdate”
[dataSource=”dataSource”]
[var=”varName”]
[scope=”{page|session|request|application}”]/>
b、有body ,并且在body中指定參數
<sql:update sql=”sqlUpdate”
[dataSource=”dataSource”]
[var=”varName”]
[scope=”{page|session|request|application}”] >
<sql:param>  actions
</sql:update>
c、有body,在body中指定sql語(yǔ)句和可選的參數
<sql:update sql=”sqlUpdate”
[dataSource=”dataSource”]
[var=”varName”]
[scope=”{page|session|request|application}”] >
Update statement
<sql:param>  actions
</sql:update>
舉例:sql_update.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:的使用</title>
</head>
<sql:setDataSource
var="ds2"
dataSource="jdbc/ch12"
/>
更新記錄值1<hr>
<sql:update var="update1" dataSource="${ds2}">
update sql_test set power=‘low‘ where id=01
</sql:update>
第2種更新:創(chuàng )建表<hr>
<sql:update var="update4" sql="create table sql_temp_901(test varchar(20))" dataSource="${ds2}"/>
第3種更新:增加記錄
<sql:update var="update5" sql="insert into sql_temp_901 values(‘hellking‘)" dataSource="${ds2}"/>
第4種更新:刪除記錄<hr>
<sql:update var="update6" sql="delete from sql_temp_901 where test=‘hellking‘" dataSource="${ds2}"/>
第5種更新:刪除表<hr>
<sql:update var="update7" sql="drop table sql_temp_901" dataSource="${ds2}"/>
</body>
</html>
<sql:transaction>
作用:用語(yǔ)事務(wù)處理,它為<sql:query>和<sql:update>建立事務(wù)處理上下文,并且提供相同的數據源。
語(yǔ)法:<sql:transation [dataSource=”dataSourceName”]>
[isolation=”isolationLevel”]>
<sql:query> and <sql:update> statement
</sql:transation>
isolationLevel ::=”read_committed”
|”read_uncommitted”
|”repeatable_read”
|”serializable”
注意:DataSource屬性和其他標簽的DataSource屬性一樣,isolactionlevel屬性指定事務(wù)隔離的級別,如果沒(méi)有指定它的值,那么就使用自己配置的DataSource事務(wù)隔離級別。而且,嵌套在里面的<sql:query> 和 <sql:update>標簽不能再指定其他的數據源。<sql:transaction>
是數據庫封裝的輕量級事務(wù)處理,如果你需要復雜的事務(wù)處理或者分布試處理,它就不適合。
舉例:sql_transaction.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:transaction的使用</title>
</head>
<sql:setDataSource
var="ds2"
dataSource="jdbc/ch12"
/>
<h2>使用事務(wù)處理方式創(chuàng )建一個(gè)表:</h2>
<sql:transaction dataSource="${ds2}">
<sql:update var="test_temp902">
create table test_temp902 (
id int primary key,
name varchar(80)
)
</sql:update>
<sql:update sql="insert into test_temp902 values(01,‘wyy‘)"/>
<sql:update sql="update sql_test set power=‘wyy‘ where id=01"/>
</sql:transaction>
</body>
</html>
<sql:param>
作用:設置sql語(yǔ)句中“?”表示的占位符號的值。
語(yǔ)法:a、沒(méi)有body,使用value指定。
<sql:param value=”value”/>
b、在body中指定
<sql:param>
參數值
</sql:param>
舉例:sql_param.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:param的使用</title>
</head>
<sql:setDataSource
var="example"
dataSource="jdbc/ch12"
/>
執行更新操作:<hr>
<sql:update var="update2" sql="update sql_test set power=? where id=?" dataSource="${example}">
<sql:param value="high"/>
<sql:param value="01"/>
</sql:update>
</body>
</html>
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
JAVA標簽庫JSTL-EL表達式介紹使用配置手冊
JSTL使用 - - JavaEye技術(shù)網(wǎng)站
jsp中的JSTL與EL表達式用法及區別
編寫(xiě) ""純html"" jsp應用--學(xué)會(huì )使用 jstl
JSTL與Struts的結合(十一)
tag jstl tld jsp標簽
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久