天天看點

jstl為空

JSTL與EL表達式(為空判斷)

一、循環周遊集合

1、在jsp中引入标準函數聲明

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

2、若要判斷集合的大小,則需要引入如下聲明

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

3、如何使用jstl判斷集合是否為空

${user}為集合,user為集合名

<c:if test="${empty user}">無資訊!</c:if>為空

<c:if test="${!empty user}">其它</c:if>非空

4、如何取得集合的大小

${fn:length(集合名<如果是session中的集合則應該加上sessionScope.鍵>)}

${fn:length(map)}

5、如何取得儲存在session中的對象?

${sessionScope.鍵.對象屬性}

6、varStatus顯示循環變量的狀态

例:<tag:forEach var="currentFood" items="${sessionScope.foods}" varStatus="status"

<tag:if test="${status%2==1}">

.....................

</tag:if>

</tag:forEach>

其中status這個變量就記錄了循環變量的狀态

7、如何周遊Map集合

<c:forEach var="foodmap" items="${sessionScope.cart}" varStatus="status">

<c:set var="subtotal" value="${foodmap.value.bean.foodPrice*foodmap.value.quantity}"></c:set>

</c:forEach>

周遊Map集合的值:

foodmap:儲存session中的map

foodmap.value:取得map的值,即擷取儲存在map中的一個對象

要擷取對象中的資料,必須用foodmap.value.quantity去點對象的屬性(quantity就是對象的屬性)

8、對象屬性為空顯示預設值

<c:forEach var="customer" items="${customers}">

<tr>

<td><c:out value="${customer.lastName}"/></td>

<td><c:out value="${customer.phoneHome}" default="no home phone specified"/></td>

<td>

<c:out value="${customer.phoneCell}" escapeXml="false">

<font color="red">no cell phone specified</font>

</c:out>

</td>

</tr>

</c:forEach>