中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

jsp 標(biāo)準(zhǔn)標(biāo)簽庫簡(jiǎn)析

一、JSTL簡(jiǎn)介
引入:在JSP以及JavaBean中 ,當(dāng)我們?cè)诰W(wǎng)頁中使用循環(huán),或者使用對(duì)象方法連接數(shù)據(jù)庫時(shí),我們都不可避免的需要使用到j(luò)sp的腳本編制元素,其中嵌有大量的Java代碼,現(xiàn)在開發(fā)者想盡可能的避免使用jsp腳本編制元素,進(jìn)一步將應(yīng)用程序的顯示層和業(yè)務(wù)層完全分離,更加有利于應(yīng)用程序的分工協(xié)作,jsp開發(fā)者指定了 JSTL ,提供了一組統(tǒng)一的通用的自定義標(biāo)簽文件,并將這些文件組合在一起,形成了jsp標(biāo)準(zhǔn)標(biāo)簽庫,即JSTL。
1) 定義:包含編寫和開發(fā)JSP頁面的一組標(biāo)準(zhǔn)標(biāo)簽
a) 特點(diǎn):為開發(fā)者提供了一個(gè)無腳本環(huán)境,無需編寫Java腳本
b) 包含
1. 核心標(biāo)簽庫
2. SQL標(biāo)簽庫
3. 國(guó)際化(I18N)與格式化標(biāo)簽庫
4. XML標(biāo)簽庫
c) 分類 : 兩個(gè)版本
1. 使用 EL
2. 使用請(qǐng)求時(shí)表達(dá)式
2) 作用
a) 進(jìn)一步簡(jiǎn)化開發(fā),簡(jiǎn)化頁面, 實(shí)現(xiàn)頁面脫離jsp腳本元素
b) 讓頁面盡可能少的出現(xiàn)Java代碼
c) 優(yōu)勢(shì):與EL表達(dá)式配合使用,可以用EL 代替屬性值 進(jìn)一步動(dòng)態(tài)改變
3) 使用
a) 導(dǎo)入標(biāo)簽庫(Eclipse等工具中需要做這一步)
b) 使用標(biāo)簽庫中標(biāo)簽的實(shí)施步驟
i. 將JSTL對(duì)應(yīng)的JAR文件:jstl.jar、standard.jar添加到應(yīng)用程序的WEB-INF/lib目錄(這兩個(gè)jar文件見課件目錄” JSTL標(biāo)簽庫”)
ii. 在編寫的jsp頁面中指定標(biāo)簽庫的描述信息:
語法:<%@ taglib prefix=”c” uri=”http://Java.sun.com/jstl/core_rt” %>
關(guān)于上述語法使用的擴(kuò)充:
<%@ taglib prefix =”標(biāo)簽別名” uri =”標(biāo)簽庫的位置“>
1. 標(biāo)簽別名常用c
2. 標(biāo)簽庫的位置:(即uri的設(shè)置)
a) 教材上:” http://Java.sun.com/jstl/core_rt “ 指向sun公司網(wǎng)站上的庫文件地址,注意這里只是個(gè)地址指向,即使沒有上網(wǎng),在工具中也已經(jīng)對(duì)應(yīng)到工程中的路徑了(注意:此時(shí)要先將標(biāo)簽庫的兩個(gè)jar文件放入”工程/WEB-INF/lib”目錄下。)
b) 也可使用:”/WEB-INF/c.tld ”(但要注意:此時(shí)要先將標(biāo)簽庫兩個(gè)jar文件中的一個(gè)standard.jar文件解壓后的目錄META-INF中的所有*.tld文件放入”工程名/WEB-INF/”目錄下,即保證該目錄下有c.tld文件)
注意:上述兩種導(dǎo)入標(biāo)簽庫的方式,以第一種為佳,即只需要將兩個(gè)標(biāo)簽庫jar文件放入”工程/WEB-INF/lib”目錄下即可。
c) 在JSP中使用
3. <c: xxxxxx 屬性名=“屬性值” 屬性名=“屬性值”>
4. xxxxx就是標(biāo)簽庫中提供的各種功能,詳述如下:
二、核心標(biāo)簽庫-----core 或 c.tld
a) 分類:
1. 通用標(biāo)簽:操作JSP頁面創(chuàng)建的范圍變量
2. 條件標(biāo)簽:操作條件運(yùn)算 判斷與處理
3. 循環(huán)標(biāo)簽:操作循環(huán)運(yùn)算
b) 通用標(biāo)簽
1. 設(shè)置,刪除,顯示在JSP頁面內(nèi)創(chuàng)建的變量值或?qū)ο笾?
2. 變量的范圍是由設(shè)置時(shí)的scope 屬性決定
3. <c: set> 用于設(shè)置變量或者對(duì)象屬性的值
<c:set var=”變量名” value=”變量值” scope=”作用域范圍”/>
<c:set target=”對(duì)象名” property=”屬性名” value=”值”/>
:注意: “變量值” 可以是 EL表達(dá)式
4. <c: out> 用于動(dòng)態(tài)顯示數(shù)據(jù)(功能類似于EL)
1:<c:out value=” 表達(dá)式” default=”默認(rèn)值” escapeXml=”true/false” >
2: 注意:表達(dá)式 可以是 1》普通的常量值
2》輸出已經(jīng)設(shè)置的變量值:${變量的名稱}
5. <c: remove>用于刪除創(chuàng)建的變量
a) <c:remove var=”變量的名稱” scope =”作用域”>
(案例:演示上面幾個(gè)標(biāo)簽)
c) 條件標(biāo)簽
1. 提供條件運(yùn)算, 兩種類型: if choose
2. <c: if> 語法
a) <c:if test=”條件 ” var=” 存放測(cè)試條件結(jié)果的變量” scope=”作用域” >
b) 。。。。。。。條件體
c) </c:if>
d) var 存放的是:結(jié)果為true 或 false
e) 不能實(shí)現(xiàn)else 由下面的實(shí)現(xiàn)
3. <c:choose>語法
a) <c:choose>
i. <c:when test=”條件表達(dá)式1”>
ii.需要處理的語句1
iii. </c:when>
iv. <c:when test=”條件表達(dá)式2”>
v.需要處理的語句2
vi. </c:when>
vii. <c:otherwise>
viii.需要處理的語句
ix. </c:otherwise>
b) </c:choose>
(案例 three.jsp)
d) 迭代標(biāo)簽
1. 分兩種: forEach forTokens
2. forEach
簡(jiǎn)單的應(yīng)用
<c:forEach var=”循環(huán)控制變量” test=”循環(huán)條件” begin=”循環(huán)開始值” end=”循環(huán)結(jié)束值” varStatus=”保存循環(huán)狀態(tài)的變量”>
循環(huán)體
</forEach>
用于集合對(duì)象的訪問
<c:forEach var=”存放集合當(dāng)前記錄的變量” items=”要輪循的集合名” begin=”集合的起始索引位置” end=”集合的結(jié)束位置”>
</forEach>
注意:如果沒有設(shè)置begin,end將檢索所有元素,step沒設(shè)置默認(rèn)為1
3. forTokens (與<c:forEach>有區(qū)別,用于輪循一個(gè)字符串)
<c:forTokens items=”要輪循的字符串” delims=”單詞的分界符” var=”存放單詞的變量”>
</c:forTokens>
(案例: 演示上面幾個(gè)標(biāo)簽)
三、SQL 標(biāo)簽庫---- sql.tld
一般的企業(yè)級(jí)的應(yīng)用是離不開數(shù)據(jù)庫操作的,在許多時(shí)候都需要在JSP頁面中訪問數(shù)據(jù)庫,因此提供對(duì)數(shù)據(jù)庫訪問的支持就變的十分重要了,在JSTL中的SQL標(biāo)記庫就提供了一套可以對(duì)數(shù)據(jù)庫進(jìn)行訪問,查詢,更新等操作的標(biāo)記,極大的方便了JSP頁面中數(shù)據(jù)庫訪問
1、 作用:用于進(jìn)行數(shù)據(jù)庫的操作
2、 在JSP頁面中加入標(biāo)簽庫
<%@ taglib uri=“http://Java.sun.com/jstl/sql_rt ” prefix=”sql” %>
3、 具體使用標(biāo)記
a) 設(shè)置數(shù)據(jù)源<sql:setDataSource>
具體用法:<sql:setDataSource driver=”驅(qū)動(dòng)類路徑” url=”連接的數(shù)據(jù)庫設(shè)置” user=”用戶名” password=”密碼” var=”連接對(duì)象名”/>
b) 查詢數(shù)據(jù)<sql:query>
具體用法:
① <sql:query sql=”查詢語句” var=”結(jié)果集名” scope=”結(jié)果集保存的范圍” dataSource=”關(guān)聯(lián)的數(shù)據(jù)源對(duì)象” maxRows=”最大行數(shù)” startRow=”開始行的索引”/>
② <sql:query var=”結(jié)果集名” scope=”保存范圍”>
select 語句
</sql:query>
操作獲取的結(jié)果集
<sql:query var=”students” scope=”session” sql=”select * from stu” dataSource=”conn”/>
${students.rowCount}可返回結(jié)果集中的數(shù)據(jù)行數(shù)
${students.columnNames}可返回所有字段的集合
${students.rowByIndex}返回結(jié)果集中某行的數(shù)據(jù)集合
c) 數(shù)據(jù)更新<sql:update>
具體用法:
① <sql:update sql=”SQL語句” dataSource=”數(shù)據(jù)源對(duì)象名”/>
② <sql:update dataSource=”數(shù)據(jù)源對(duì)象名”>
SQL語句
</sql:query>
d) 事務(wù)應(yīng)用<sql:transaction>
具體用法:
<sql:transaction dataSource=”數(shù)據(jù)源對(duì)象名”isolation=”事務(wù)隔離級(jí)別”>
<sql:query>或者<sql:update>
</sql:transaction>
其中上面的隔離級(jí)別:
read_committed,read_uncommited,repeatable,serializable
注意:如果在事務(wù)中設(shè)置了dataSource屬性,在里面的標(biāo)記中就不需設(shè)置了。
e) 參數(shù)設(shè)置<sql:param>
① 作用:在作查詢或者數(shù)據(jù)操作時(shí)參數(shù)的設(shè)置
② 使用:通常是做為<sql:query>和<sql:update>標(biāo)記的子標(biāo)記
案例:
<sql:query dataSource=”conn” var=”stus” scope=”page”>
select * from student where stuage>?
<sql:param value=”參數(shù)值”/>
</sql:query>
四、國(guó)際化和格式化標(biāo)簽----fmt 或 fmt.tld
1、 作用:對(duì)數(shù)字和日期時(shí)間的輸出進(jìn)行標(biāo)準(zhǔn)化,解決中文亂碼問題
2、 在jsp頁面加入標(biāo)簽庫
<%@ taglib uri=“http://Java.sun.com/jstl/fmt_rt” prefix=”fmt” %>
3、 具體標(biāo)簽的使用
a) <fmt:setLocale>
① 作用:用于JSP頁面的本地化
② 使用:<fmt:setLocale value=”語言和區(qū)域”/>
b) <fmt:formatNumber>
① 作用:用于JSP頁面數(shù)據(jù)的格式化
② 使用:<fmt:formatNumber type=”number|currency|percent” value=”要格式化的數(shù)據(jù)” />
c) <fmt:formatDate>
① 作用:用于JSP頁面日期的格式化
② 使用:<fmt:formatDate type=”time|date|both” value=”要格式化的日期數(shù)據(jù)”/>
d) <fmt:requestEncoding>
① 作用:指定請(qǐng)求數(shù)據(jù)的編碼方式
② 使用:<fmt:requestEncodding value=”編碼方式” />
例如:<fmt:requestEncoding value=”gb2312”/>
一般地,也可這樣使用:
a) 創(chuàng)建好 屬性文件 比如叫 len_zh .properties
b) <fmt:setLocale value=”指向文件的名稱 zh”> (zh為中文,en為英文,固定的,Y2課程里會(huì)講到。)
c) <fmt:setBundle basename=”文件的名稱 len”> (len為自起名稱)
d) <fmt:message key=”屬性文件中的關(guān)鍵字”> (屬性文件為len_zh .properties)
注意:國(guó)際化時(shí),*.properties文件要放在classes目錄下。

jsp技術(shù)jsp 標(biāo)準(zhǔn)標(biāo)簽庫簡(jiǎn)析,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 免费 视频 1级 | 91亚洲一区 | 黄色大片在线播放 | 91伦理片 | 国产伦精品一区二区三区视频金莲 | 看亚洲a级一级毛片 | 国产精品亚洲综合 | 日本精品一区二区三区视频 | 久久精品小短片 | 97视频久久 | 久久久tv | 91久色 | 日韩精品一区二 | 国产精品99久久久久久大便 | 国产一区二区在线免费观看 | 玖玖视频免费 | 精品中文字幕视频 | 一级特黄视频 | 国产在线视频一区 | 久久久999免费视频 999久久久久久久久6666 | 日韩精品免费在线观看 | 三级黄色片在线播放 | 日本爱爱 | 国产真实精品久久二三区 | 欧美成人a | 亚洲国产精品一区二区www | 日本亚洲一区 | 亚洲精品一区二三区不卡 | 精品视频免费 | 99精品欧美一区二区三区 | 成人综合伊人 | 午夜精品一区二区三区在线观看 | 日本在线中文 | 日本一区二区三区免费观看 | 网色| 欧美亚洲国产日韩 | 国产精品久久久久久久久久三级 | 日韩精品在线看 | 亚洲国产区 | 免费毛片www com cn | 国产精品夜色一区二区三区 |