<c:out> 標籤
<b>Hello, <c:out value="${user}" default="guest"/>.</b>
可指定default值,避免 EL 表示式 user 之值為 null
<b>Hello, <%=user%>.</b>
<b>Hello, ${user}.</b>
若 user 為 null 以上兩種方式,則 output 為 Hello, ______.
<c:forEach> 標籤
以下兩個寫法結果都一樣,但使用 <c:forEach> 標籤卻精簡多了
1.
<table><%
String[] items = (String[]) request.getAttribute("movieList");
String var = null;
for (int i = 0; i < items.length; i++) {
var = items[i];
}
%>
<tr>
<td><%= var %></td>
</tr>
</table>
<table>
<c:forEach var="movie" items="${movieList}">
<tr>
<td>${movie}</td>
</tr>
</c:forEach>
</table>
可用巢狀迴圈,範例如下:
Servlet 程式碼
String[] ary1 = {"a", "b", "c", "d"};
String[] ary1 = {"e", "f", "g", "h"};
java.util.List arrayList = new java.util.ArrayList();
arrayList.add(ary1);
arrayList.add(ary2);
request.setAttribute("arrays", arrayList);
JSP 程式碼
<table>
<c:forEach var="arrayEl" items="arrays">
<c:forEach var="item" items="arrayEl">
<tr>
<td>${item}</td>
</tr>
</c:forEach>
</c:forEach>
</table>
<c:if> 標籤
<c:if test="${user == 'admin'}"><jsp:include page="test.jsp">
</c:if>
上面的敘述代表若 user 變數值為 "admin"
則 include test.jsp 頁面到網頁中
但此標籤無法做到 else 的敘述,下一組標籤可以做到此需求
<c:choose>, <c:when>, and <c:otherwise> 標籤
用法範例如下<c:choose>
<c:when test="${a == 'test1'}">
output string1
</c:when>
<c:when test="${a == 'test2'}">
output string2
</c:when>
<c:otherwise>
output string2
</c:otherwise>
</c:choose>
以上被 <c:choose> 包住的判斷,包括<c:otherwise>,只會有一個被執行
沒有留言:
張貼留言