Servlet——標(biāo)簽:EL、JSTL

EL——表達(dá)式語言(Expression Language)

為了在表現(xiàn)層上減少Java代碼,JSTL標(biāo)記庫應(yīng)運而生,EL即是JSTL的基礎(chǔ)。


格式:

${所有的EL表達(dá)式在這里面}


取值:

普通JSP寫法:

session.getValue("name");

EL寫法:

${sessionScope.name}


訪問JavaBean:

<% student stu=new student(); stu.no="123"; %>

學(xué)生編號是:${stu.no}


訪問集合:

${集合[序號]}

如:${book[0]}表示集合book中的第一個元素


[ ] . 運算符:

${sessionScope.user.sex};

等價于

String str="sex";

${sessionScope.user[str]};

兩種情況[ ]和 . 不能互換:

1、名稱中含有特殊字符:

${sessionScope.user["user-sex"]}

不可用

${sessionScope.user.user-sex}

來代替


2、動態(tài)取值:

${sessionScope.user[param]},其中param是自定義變量


EL對象:

1、PageScope:page范圍

2、requestScope:request范圍

3、sessionScope:session范圍

4、applicationScope:application范圍

若無范圍限定則按照page>request>session>application順序查找


除此之外其他EL對象:

1、pageContext:此JSP的PageContext

2、param:獲取單個參數(shù)

3、paramValues:獲取捆綁數(shù)組參數(shù)

4、Header:

5、headerValues:

6、cookie:獲取cookie的值

7、initParam:獲取web.xml中的參數(shù)值


EL自動類型轉(zhuǎn)換:

${param.count+20}

相當(dāng)于

String str=request.getParameter("count");

int count=Intger.parseInt(str_count);

count=count+20;


驗證運算符empty:

${empty A}

如果A為null、不存在、空字符串、空數(shù)組均返回true,否則返回false





JSTL

首先聲明JSP文件所使用的的標(biāo)簽庫,同時引入該標(biāo)簽庫,并指定標(biāo)簽的前綴。

<% @ taglib prefix="c" uri="http://....../core" %>

prefix表示前綴,習(xí)慣上把核心標(biāo)簽庫core的前綴定義為c。


core核心標(biāo)簽庫:

表達(dá)式操作:out、set、remove、catch

流程操作:if、choose、when、otherwise

迭代操作:forEach、forTokens

URL操作:import、param、url、redirect


基本數(shù)據(jù)操作:

<c:out>:

輸出,<c:out value="變量名"></c:out>

<c:set>:

賦值,<c:set var="" value="" scope=""></c:set>

<c:remove>:

刪除,<c:remove var="" scope=""></c:remove>


流程控制操作:

<c:if>:

<c:if test="${判斷條件}" var="" scope="session">...</c:if>

可選屬性var和scope指定var所在的scope

<c:choose>:

choose、when、otherwise總是同時出現(xiàn)

<c:forEach>:

全部遍歷:

全部遍歷,var為當(dāng)前遍歷的值指定操作的變量名

部分遍歷指定遍歷區(qū)間及步長:


部分遍歷,紅框內(nèi)為遍歷0到1,箭頭所指指定步長(默認(rèn)為1)

部分遍歷并輸出元素狀態(tài):

部分遍歷并輸出元素狀態(tài)

index:在原集合中是第幾個元素

count:在遍歷子集中是第幾個元素

first:是否是遍歷子集中的第一個元素

last:是否是遍歷子集中的最后一個元素

<c:forTokens>:

字符串遍歷

按delims分割items,每次分割的值放在var里
可選屬性

<c:import>:包含另一JSP頁面到本頁

<c:url>:得到url地址

<c:redirect>:頁面的重定向

<c:param>:向目標(biāo)頁面?zhèn)鬟f參數(shù)



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容