1.背景介紹
EL是JSP內(nèi)置的表達(dá)式語言季率,用以訪問頁面的上下文以及不同作用域中的對象 ,取得對象屬性的值描沟,或執(zhí)行簡單的運(yùn)算或判斷操作飒泻。EL在得到某個數(shù)據(jù)時,會自動進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換啊掏。
由于EL表達(dá)式僅僅具有輸出功能蠢络,而不替代頁面中的JSP腳本片段.為了解決這個問題,JSP為我們提供了可以自定義標(biāo)簽庫(Tag Library)的功能迟蜜。
而為了方便開發(fā)使用Sun公司又定義了一套通用的標(biāo)簽庫名為JSTL(JSP Standard Tag Library)刹孔,里面定義很多我們開發(fā)中常用的方法,方便我們使用娜睛。c標(biāo)簽屬于其中的核心標(biāo)簽髓霞。
2、知識剖析
EL表達(dá)式總是放在{}中畦戒,而且前邊有一個$作為前綴方库,${}。
獲取域中的對象可以直接使用對象名${student}獲取對象的屬性值可以直接通過“對象.屬性名”${student.name},獲取Map中屬性時可以以直接通過屬性的key${map.key}
在指定域中獲取屬性
${ pageScope .user}:當(dāng)前頁面
${requestScope.user}:當(dāng)前請求
${sessionScope.user}:當(dāng)前會話
${applicationScope.user}:當(dāng)前應(yīng)用
請求參數(shù)
參數(shù)對象只要用于獲取get或post請求中的參數(shù)障斋。
param:獲取指定的請求參數(shù)纵潦,如${param.username}
paramValues:獲取請求參數(shù)數(shù)組徐鹤,如${paramValues.sport[1]}
要使用JSTL和EL表達(dá)式就必須引入兩個jar包:standard.jar和jstl.jar
然后還需要在JSP頁面中通過taglib標(biāo)簽引入標(biāo)簽庫。
<%@taglibprefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
3邀层、編碼實戰(zhàn)
核心標(biāo)簽:
<c:set> <c:out> <c:remove>
value表示值返敬,var表示變量,scope表示作用域
<c:out>的屬性default表示如果value為空寥院,那么顯示default里的默認(rèn)值劲赠,如果不為空則不顯示默認(rèn)值。escapeXml表示是不是要轉(zhuǎn)換特殊字符秸谢,默認(rèn)為true凛澎。el表達(dá)式不能顯示特殊字符,除非進(jìn)行html轉(zhuǎn)義估蹄,c標(biāo)簽就可以塑煎。
<c:if>條件語句,但是沒有else臭蚁,只能有一個條件判斷
這里aaa>200的話轧叽,把結(jié)果儲存在rrr里,然后輸出刊棕,true或者false
<c:choose> <c:when> <c:otherwise>可以實現(xiàn)多條件判斷炭晒,就像if...else...
el表達(dá)式里的param.IQ就是輸入?yún)?shù),在url里輸入然后會進(jìn)行判斷甥角。jsp的執(zhí)行順序是從上到下的网严,如果把IQ<90放到上邊,那么滿足條件的話IQ>140就不顯示了嗤无。這里我們可以多加上一個條件
迭代震束,一個簡單的例子之前也不知哪里錯了沒完成了
傳入值的循環(huán)
items屬性表示要被迭代的信息
<c:import>把目標(biāo)頁面導(dǎo)入到當(dāng)前頁面 <c:redirect>重定向 <c:url>重寫url,<c:param>寫入屬性
4当犯、常見問題
EL表達(dá)式無法識別特殊符號
5垢村、解決方案
1,使用HTML轉(zhuǎn)義字符
2嚎卫,使用C標(biāo)簽
------------------------------------------------------------------------------------------------------------------------
今天的分享就到這里啦嘉栓,歡迎大家點贊、轉(zhuǎn)發(fā)拓诸、留言侵佃、拍磚~
技能樹.IT修真院
“我們相信人人都可以成為一個工程師,現(xiàn)在開始奠支,找個師兄馋辈,帶你入門,掌控自己學(xué)習(xí)的節(jié)奏倍谜,學(xué)習(xí)的路上不再迷寐趺”叉抡。
這里是技能樹.IT修真院,成千上萬的師兄在這里找到了自己的學(xué)習(xí)路線答毫,學(xué)習(xí)透明化卜壕,成長可見化,師兄1對1免費指導(dǎo)烙常。快來與我一起學(xué)習(xí)吧~
我的邀請碼:14229748鹤盒,或者你可以直接點擊此鏈接:修真院