JSTL與EL表達式(爲空判斷,集合長度)

一、在jsp中引入標準函數聲明
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>java


二、若要判斷集合的大小,則須要引入以下聲明
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>session


三、如何使用jstl判斷集合是否爲空
${user}爲集合,user爲集合名
<c:if test="${empty user}">無信息!</c:if>爲空
<c:if test="${!empty user}">其它</c:if>非空jsp


四、如何取得集合的大小
${fn:length(集合名<若是是session中的集合則應該加上sessionScope.鍵>)}
${fn:length(map)}函數


五、如何取得保存在session中的對象?
${sessionScope.鍵.對象屬性}spa


六、varStatus顯示循環變量的狀態
例:<tag:forEach var="currentFood" items="${sessionScope.foods}" varStatus="status"
<tag:if test="${status%2==1}">
.....................
</tag:if>
</tag:forEach>
其中status這個變量就記錄了循環變量的狀態對象


七、如何遍歷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就是對象的屬性)ci

八、對象屬性爲空顯示默認值get

<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>it

相關文章
相關標籤/搜索