JSP 5:JSTL標籤庫
阿新 • • 發佈:2018-12-14
※ JSTL標籤庫 JSP Standard Tag Library(JSTL) 1)讓web專案支援JSTL標籤庫 在myeclipse中,建一個web專案的時候,在對話方塊下面會有提示在當前專案是否需要加入JSTL標籤庫的支援.(J2EE5.0是預設會加入對JSTL的支援的) 在eclipse中,建一個文字專案,預設都是不支援JSTL,所以需要我們自己把JSTL的jar包匯入到專案中(複製貼上到專案中的lib目錄):jstl.jar standard.jar
2)把JSTL標籤庫匯入到某一個jsp頁面中 使用jsp中的taglib指令:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
prefix="c"相當於給這個標籤庫起一個別名,將來在頁面中就是用以c開頭的標籤來使用標籤庫中的標籤。這個別名也可以叫其他的名字。
※ <c:forEach>標籤: 遍歷List集合: students是放進request物件中的一個List集合,集合中存放的是Student型別的物件. items="“屬性值是要遍歷的集合 var=”" 屬性值是每次遍歷到的物件用什麼名字的變數去接收。
<c:forEach items="${students}" var="stu"> <tr> <td>${stu.id }</td> <td>${stu.name }</td> <td>${stu.age }</td> </tr> </c:forEach>
遍歷Map集合: map是一個Map型別的集合,放到了request物件中,entry是我們頂一個的一個變數,用做接收每次遍歷到的集合中的一組鍵值對,我們可以通過entry.key entry.value分別拿到這次遍歷到的key值和value值
<c:forEach items="${map}" var="entry"> ${entry.key }-->${entry.value.id } ${entry.value.name } ${entry.value.age }<br> </c:forEach>
※ <c:out>標籤: 向頁面輸出內容
<c:out value="hello"></c:out>
<c:out value="${5+5}"></c:out>
//students是放在request中的List集合,集合裡面是Student物件
<c:out value="${students[2].id}"></c:out>
※ <c:set>標籤: 向某一個範圍物件中存放一個值。
<c:set var="name" value="zhangsan" scope="request"></c:set>
※ <c:remove>標籤: 從某個範圍物件中把某個值給移除掉.
<c:remove var="name" scope="request"/>
※ <c:if>標籤: 條件判斷
<%
request.setAttribute("score",40);
%>
<c:if test="${score>85 }">
<font color="red">你的分數超過了85分</font>
</c:if>
<c:if test="${score>95 }">
<font color="red">你的分數超過了95分</font>
</c:if>
這樣寫相當於:
if(score>85){
...
}
if(score>95){
...
}
※ <c:choose>標籤 & <c:when>標籤 & <c:otherwise>標籤
例如:
<c:choose>
<c:when test="${score>=90 }">優</c:when>
<c:when test="${score>=80 }">良</c:when>
<c:when test="${score>=70 }">中</c:when>
<c:when test="${score>=60 }">及格</c:when>
<c:otherwise>差</c:otherwise>
</c:choose>
相當於:
if(score>=90){
}else if(score>=80){
}else if(score>=70){
}eles if(score>=60){
}else{
}