Servlet——標簽:EL、JSTL

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

為了在表現層上減少Java代碼,JSTL標記庫應運而生,EL即是JSTL的基礎。


格式:

${所有的EL表達式在這里面}


取值:

普通JSP寫法:

session.getValue("name");

EL寫法:

${sessionScope.name}


訪問JavaBean:

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

學生編號是:${stu.no}


訪問集合:

${集合[序號]}

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


[ ] . 運算符:

${sessionScope.user.sex};

等價于

String str="sex";

${sessionScope.user[str]};

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

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

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

不可用

${sessionScope.user.user-sex}

來代替


2、動態取值:

${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:獲取單個參數

3、paramValues:獲取捆綁數組參數

4、Header:

5、headerValues:

6、cookie:獲取cookie的值

7、initParam:獲取web.xml中的參數值


EL自動類型轉換:

${param.count+20}

相當于

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

int count=Intger.parseInt(str_count);

count=count+20;


驗證運算符empty:

${empty A}

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





JSTL

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

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

prefix表示前綴,習慣上把核心標簽庫core的前綴定義為c。


core核心標簽庫:

表達式操作:out、set、remove、catch

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

迭代操作:forEach、forTokens

URL操作:import、param、url、redirect


基本數據操作:

<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總是同時出現

<c:forEach>:

全部遍歷:

全部遍歷,var為當前遍歷的值指定操作的變量名

部分遍歷指定遍歷區間及步長:


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

部分遍歷并輸出元素狀態:

部分遍歷并輸出元素狀態

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

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

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

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

<c:forTokens>:

字符串遍歷

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

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

<c:url>:得到url地址

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

<c:param>:向目標頁面傳遞參數



最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容