1. 程式人生 > >JSP 5:JSTL標籤庫

JSP 5:JSTL標籤庫

※ 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 } &nbsp; ${entry.value.name } &nbsp; ${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{
	
	}