JSTL中的if和forEach标签

来源:互联网 发布:mac air 2017 编辑:程序博客网 时间:2024/05/17 01:22

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
原创粉丝点击