1. 程式人生 > >JSTL中的if和forEach標籤

JSTL中的if和forEach標籤

if

在JSP中if 的格式:

<c:if test = "" var="" scope="">

test是必要的屬性,var不是必要的屬性,scope不是必要的屬性。

但是要用var屬性的時候,scope也要連著用。

test的作用是裡面寫判斷的條件,結果反回test。

var裡面可以寫一個引數,和test一樣,獲取到和test一樣的值。

scope則是var裡的值,所接收的範圍,範圍是4大域(page,request,session,application)。

var和scope其實用java是這樣實現的:

<%--
		這裡var裡面是裝test所取得的結果  scope是所取得結果儲存的域範圍
		裡面是這樣實現的:
		boolean b = empty pageScope.list;
		pageContext.setAttribute("result",b);
	 --%>

if的一些小例子:

<%
		LinkedList list = new LinkedList();
		//list.add("dkf");
		
	
		pageContext.setAttribute("list", list);
	%>

	<c:if test="${empty pageScope.list }">
		你還沒有購物
	</c:if>

	<c:if test="${!empty pageScope.list }">
		你購入的物品如下
	</c:if>


forEach

在JSP中forEach的格式是:

<c:forEach items="" var="" begin="" end="" step="" varStatus="">


items這裡是須要遍歷的專案。(必須填)

var這裡是專案的變數。(必須填)

begin 和 end 是 從begin遍歷到end。(不必填)

step是迴圈每次加的步數,不填的時候是i++,填2的時候是i = i + 2。(不必填)

小例子:

<%
		String str[] = {"a","b","c","d"};
		pageContext.setAttribute("str", str);
	%>
	
	<c:forEach items="${pageScope.str}" var="s">
		${s }<br>
	</c:forEach>
結果是a,b,c,d
<%
		List lists = new LinkedList();
		lists.add("fefjie");
		lists.add("sdfs");
		lists.add("qweqw");
		
		pageContext.setAttribute("lists", lists);
	%>
	
	<c:forEach items="${lists }" var="s">
		${s }<br>
	</c:forEach>
結果是fefjie  sdfs   qweqw
<%
		Map map = new HashMap();
		map.put("a", "sdfe");
		map.put("b", "qwqwq");
		map.put("c", "zxczxc");
		
		pageContext.setAttribute("map", map);
	%>
	<%--var指向的型別是Map的entry --%>
	<c:forEach items="${map }" var="s">
		${s.key }==${s.value }<br>
	</c:forEach>
結果是a == sdfe      b == qwqwq   c == zxczxc

<%
	String str1[] = {"a","b","c","d","e","f","g"};
	pageContext.setAttribute("str1", str1);
	%>
	
	<c:forEach items="${str1 }" var="s" begin="1" end="5">
		${s }<br>
	</c:forEach>
結果是b c  d e f
<%
	String str1[] = {"a","b","c","d","e","f","g"};
	pageContext.setAttribute("str1", str1);
	%>
<pre name="code" class="html"><c:forEach items="${str1 }" var="s" step="2">
	${s }<br>
	</c:forEach>
結果是a c e g