国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

JSTL標(biāo)簽庫【一看必懂】

2019-11-14 11:48:09
字體:
供稿:網(wǎng)友

一、JSTL標(biāo)簽庫簡介

JSTL全稱 jsp Standard  Tag Library,常被用來代替?zhèn)鹘y(tǒng)的java片段語言來實(shí)現(xiàn)頁面邏輯,與控制程序輸出的EL表達(dá)式相結(jié)合,兩者相輔相成。

二、JSTL標(biāo)簽庫使用之前的準(zhǔn)備

在使用JSTL標(biāo)簽之前,先要導(dǎo)入jstl.jar的包,如果是通過Maven創(chuàng)建項(xiàng)目的話,直接在pom.xml里添加依賴即可。還需要在JSP頁面開頭添加指令。uri是指tld文件中某個(gè)庫的uri,PRefix是指前綴,如果是c.tld庫中的,一般寫成c,可以區(qū)別包里相同的標(biāo)簽。然后就可以用如<c:out/>這樣的格式調(diào)用標(biāo)簽了。

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

三、常用標(biāo)簽庫的用法

1.核心標(biāo)簽庫

1.1 通用標(biāo)簽

1.1.1 <c:out>

語法格式:

<c:out value="value" [escapeXml="{true|false}"] [default="defaultValue"]/>value值為顯示的值,引號(hào)內(nèi)可以寫EL表達(dá)式,[ ]內(nèi)屬性為非必填屬性,escapeXml的默認(rèn)值為true,代表其中的標(biāo)簽就按照字符串顯示,不按照標(biāo)簽語義進(jìn)行顯示,default為當(dāng)value值為null時(shí),顯示的默認(rèn)值。

1.1.2 <c:set>

語法格式1:

<c:set value="value" var="name" [scope="{page|request|session|application}"]/>這句話就相當(dāng)于在某個(gè)特定范圍內(nèi)加一個(gè)屬性。

語法格式2:

<c:set value="Mike" target="${person}" property="name"/>把WEB域中某個(gè)屬性key值為person的JavaBean對(duì)象的name屬性值賦成value值。

1.1.3 <c:remove>

語法格式:

<c:remove var="person" scope="request"/>移除某個(gè)域中的某個(gè)名為var的屬性值

1.1.4 <c:catch>

語法格式:

<c:catch var="exception"><%	int a = 5 / 0;%></c:catch><c:out value="${exception}"/>捕獲異常。

1.2 條件標(biāo)簽

1.2.1 <c:if>

<c:if test="${5 / 1 == 5}">Body</c:if>test的中的表達(dá)式就相當(dāng)于if()括號(hào)中的語句。Body就相當(dāng)于test的值為true后執(zhí)行的語句。

1.2.2 <c:choose>

1.2.3 <c:when>

1.2.3 <c:otherwise>

以上三個(gè)標(biāo)簽基本一起用,choose為父標(biāo)簽,作為選項(xiàng)的開始,每個(gè)when是一個(gè)選項(xiàng),最后的其它就是otherwise。

基本語法:

<c:choose>	<c:when test="${5 / 1 == 1}">		BodyA	</c:when>	<c:when test="${5 / 1 == 2}">		BodyB	</c:when>	<c:otherwise>		BodyC	</c:otherwise></c:choose>

1.3 迭代標(biāo)簽

<c:forEach>

假設(shè)servlet將數(shù)據(jù)存在某個(gè)WEB域中,以下是兩種容器迭代方式的代碼:

<%	List<Person> list = new ArrayList<Person>();	list.add(new Person("kkk"));	list.add(new Person("sss"));	list.add(new Person("jjj"));	application.setAttribute("list_1", list);	Map<String, Person> map = new HashMap<String, Person>();	map.put("a", new Person("aaa"));	map.put("b", new Person("bbb"));	map.put("1", new Person("ccc"));	request.setAttribute("map", map);%><c:forEach items="${list_1}" var="person" begin="0" end="2" step="1">	${person.name }</c:forEach>	<c:forEach items="${map }" var="entry" begin="0" end="2" step="1"> <!-- 遍歷Map類對(duì)象,先轉(zhuǎn)換為EntrySet,再遍歷 -->	${entry.key } ${entry.value.name }<br></c:forEach>

1.4 URL標(biāo)簽

1.41 <c:import>

<c:import url=""/>與<jsp:include page=""/>都是動(dòng)態(tài)加載,但是import更靈活,可以加載WEBAPP范圍外的url。

1.42 <c:redirect>

用于重定向到某個(gè)URL,語法格式:

<c:redirect url="value" [context="context"]/>

1.43 <c:url>

用于產(chǎn)生一個(gè)鏈接,語法格式:

<c:url value=""[context=""] [var=""] [scope=""] />

2.國際化標(biāo)簽庫

2.1 <fmt:formatDate>  日期格式化

語法格式:

<fmt:formatDate value="<%=new Date() %>" pattern="yyyy年MM月dd日HH點(diǎn)mm分ss秒"/>2.2 <fmt:formatNumber> 數(shù)字格式化

語法格式:

<fmt:formatNumber value="${5/3 }" pattern=".0000"/>小數(shù)點(diǎn)保留四位

3.數(shù)據(jù)庫標(biāo)簽庫

3.1 <sql:setDataSource>  準(zhǔn)備數(shù)據(jù)庫

對(duì)于沒有默認(rèn)數(shù)據(jù)庫的JSP頁面,該標(biāo)簽?zāi)軠?zhǔn)備一個(gè)數(shù)據(jù)庫以供使用。語法格式:

<sql:setDataSource var="demo" driver="com.MySQL.jdbc.Driver" url="jdbc:mysql://localhost:3306/db" user="root" passWord="admin" />var代表數(shù)據(jù)庫的變量名,在稍后的查詢將會(huì)用到

3.2 <sql:query>  查詢數(shù)據(jù)庫

在連接了數(shù)據(jù)庫后,即可使用該標(biāo)簽執(zhí)行SQL語句查詢數(shù)據(jù)庫。查詢后的結(jié)果集存在rs中,然后用<c:forEach>標(biāo)簽遍歷結(jié)果集的每一行記錄。語法格式:

<sql:query var="rs" dataSource="${ demo}">SELECT * FROM info</sql:query><table><c:forEach items="${rs.rows }" var="row" varStatus="s">	<tr>		<td>${s.index }</td>		<td>${row.name }</td>		<td>${row.age }</td>	</tr></c:forEach></table>

也可以將Body中的sql語句寫到標(biāo)簽里面。

<sql:query var="rs" dataSource="${ demo}" sql="SELECT * FROM info">

3.3 <sql:update>  更新數(shù)據(jù)庫

語法格式1:

<sql:update var="update" sql="" dataSource="${demo }"/>語法格式2:

<sql:update var="update" dataSource="${demo }">UPDATE info SET age=? where name=?<sql:param value="1"/><sql:param value="xxx"/></sql:update>


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 涟源市| 双城市| 历史| 石狮市| 三门峡市| 遂溪县| 临朐县| 慈溪市| 佛山市| 青海省| 全南县| 蒙自县| 太仆寺旗| 永州市| 天等县| 河池市| 东明县| 焦作市| 正蓝旗| 兴安盟| 北流市| 右玉县| 宝兴县| 额济纳旗| 西林县| 林周县| 奇台县| 虎林市| 盘山县| 探索| 柳河县| 平邑县| 沈丘县| 信宜市| 高淳县| 河曲县| 大余县| 石台县| 陆河县| 舞钢市| 海安县|