JSP——JSTL核心标签(2)
2016-07-10 18:08
537 查看
1.迭代标签
1.1 <c:forEach>
标签
<c:forEach>在一个Collection中迭代计算他的body内容,或是重复迭代固定的次数。
(1)最简单的迭代标签
<c:forEach var="i" begin="1" end="10"> <c:out value="${i}"></c:out>--> </c:forEach>
在这里,
var代表当前条目的变量名称,
begin指的是开始的元素,
end指结束的元素,两者都包含在内。
它的输出是这样的:
另外,我们也可以通过
step属性来指定步长,如下:
<c:forEach var="i" begin="1" end="10" step="2"> <c:out value="${i}"></c:out>--> </c:forEach>
这里表示输出的是1到10之间的所有奇数。
(2)迭代一个ArrayList集合
假设我们在requestScope中放入了一个
ArrayList,中间加入的是User对象,如下:
<% ArrayList<User> array = new ArrayList<User>(); User user1 = new User(); user1.setName("u1"); user1.setAge(20); User user2 = new User(); user2.setName("u2"); user2.setAge(21); User user3 = new User(); user3.setName("u3"); user3.setAge(22); array.add(user1); array.add(user2); array.add(user3); request.setAttribute("users", array); %>
我们利用forEach标签可以很简单的输出这个ArrayList集合中的内容,如下:
<c:forEach items="${users}" var="user"> <c:out value="${user.name}"></c:out> <c:out value="${user.age}"></c:out> <br> </c:forEach>
这里用
items属性来指定要循环的集合。
另外,我们也可以在这里指定
begin和
end和
step属性,来指定输出哪些对象。
(3)迭代一个HashMap
假设我们上面的User都是放在HashMap中的,如下:
<% Map<String,User> map = new HashMap<String,User>(); User user1 = new User("小明",12); User user2 = new User("小强",13); User user3 = new User("小华",14); map.put("aa", user1); map.put("bb", user2); map.put("cc", user3); request.setAttribute("persons",map); %>
那么,我们可以通过如下方式迭代:
<c:if test="${empty persons}"> 没有人! </c:if> <c:forEach items="${persons}" var="person"> key = ${person.key}; value=${person.value.name},${person.value.age}岁 <br> </c:forEach>
其实,与ArrayList的迭代方式类似,只是,这里通过
var.key返回HashMap中的Key值,通过
var.value返回HashMap中的Value值,Value也可以是一个对象,如本例。
另外,注意EL表达式中empty判断的用法!
1.2 <c:forTokens>
标签
<c:forTokens>标签可以根据某个分隔符分隔指定字符串。
比如:
<% request.setAttribute("abc", "12;56;你好;Gavin"); %> <c:forTokens items="${requestScope.abc}" delims=";" var="temp"> ${temp} </c:forTokens>
另外,这里也可以指定
begin,
end和
step属性。与前述类似。
2.Url相关的标签
Url标签就是和页面导航,重定向,资源获得,参数传递相关的标签。主要有:
(1)
<c:param>标签,用来给包含或者重定向的页面传递参数
(2)
<c:redirect>标签,重定向至一个新的URL
(3)
<c:url>标签,使用可选的查询参数来创造一个URL
这几个标签的用法都比较简单。
相关文章推荐
- 使用AFN传递json字符串参数
- JSP概述(一)
- 使用原生js制作轮播图
- JsonKit的基本使用
- 为什么Fastjson能够做到这么快?
- javascript学习之类型、变量、值
- JSP简介
- jsp基础
- 简述jsp的加载过程,jsp和servlet的关系?jsp生成的文件放在什么位置?
- jsp课堂笔记
- jsp九大内置对象及其作用?
- js中的运算符优先级顺序
- servlet接收不到JSP传来的数据servlet接收不到JSP传来的数据
- JavaScript中的Function(函数)对象详解
- JavaScript闭包之“词法作用域”
- JavaScript 最佳实践
- js弹出窗口
- js弹出窗口
- js弹出窗口
- js弹出窗口