EL表達式和JSTL標籤庫

EL表達式:用於jsp頁面,獲取後臺的數據,或者後臺通過它獲取數據,簡便


在指定作用域中取得共享數據
${pageScope.屬性名}

在page域取得數據,其他以此類推,requestScope、sessionScope、applicationScope


如果沒有寫作用域,默認順序是pageContext < request < session < application

訪問對象的屬性的寫法:
${對象.屬性名}
或者${對象[“屬性名”]}


在JSP中獲取上下文路徑的方式,用於表單提交action="url"、頁面包含
${pageContext.getRequest().getContextPath()}


JSTL標籤庫,主要是爲了簡化jsp中的代碼

JSTL有五個標籤庫(核心標籤庫、國際化、sql標籤庫、xml標籤庫、函數標籤庫)
使用JSTL的庫時,需要在jsp裏聲明 <%@ taglib url="需要的庫的url" prefix="c"%>
爲了防止方法重名,標籤來源,用prefix表示前綴,來區分,寫法爲 <c:if> <c:forEach> <c:when>
核心標籤庫包括:out , set , remove , catch , if , choose , when 和 URL 等.
表達式操作標籤:  包括:out , set , remove , catch.


這裏主要是核心標籤庫部分標籤的用法


單條件判斷
<c:if test=="判斷條件" var="要判斷的變量" [scope="{page|request|session|application}"]/> 
或<c:if> </c:if>


多條件判斷
<c:choose>
<c:when test="判斷條件">
</c:when>
...
<c:otherwise>
</c:otherwise>
</c:choose>

scope表示作用域


循環:默認取得的數據在page裏
<c:forEach [var="要判斷的變量名"] items="要循環取出數據的集合名" [varStatus="varStatusName"]>
本體內容
</c:forEach>
varStatus是標籤中的屬性,是一個對象,它有4個屬性(index、count、first、last)

比如count用來表示當前集合取出的第幾個,用varStatusName.count表示第多少個


循環次數:
<c:forEach [var="要循環輸出的變量名"] [varStatus="varStatusName"] begin="開始的位置" end="結束的位置" [step="循環的次數"]>
本體內容
</c:forEach>
varStatus是標籤中的屬性,是一個對象,它有4個屬性(index、count、first、last)

比如count用來表示當前集合取出的第幾個,用varStatusName.count表示第多少個


日期格式化,要先導入fmt方面的庫
page等域必須現有數據
<% Data d = new Data();
request.setAttribute("d",d);
<fmt:formatDate value="${d}" pattern="yyyy年mm月dd日hh時mm分ss秒" />

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章