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 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值