我是在写代码的时候在网上找资料遇到的一些好的简单直白的例子,我就把他记录整理下来。与大家分享
从数据库查到了记录,循环到页面形成一个表格:
<table border="1" align="center" width="70%">
<tr>
<td>姓名</td>
<td>年龄</td>
<td>城市</td>
</tr>
<c:forEach items="${list}" var="student">
<tr>
<td>${student.name }</td>
<td>${student.age } </td>
<td>${student.city }</td>
</tr>
</c:forEach>
</table>
用jstl来循环,其中itmes就是从控制器类传到页面的集合类,一般用键值对的键名字来表示。var是一个变量,可以自己定义
其实遍历集合都差不多,主要是在传集合到视图页面的时候需要仔细,我们在来看看一个遍历数组:
<pre name="code" class="java"><%
String[] names ={"张柏芝","谢霆锋","王菲","文章"};
request.setAttribute("names", names);
%>
<c:forEach items="${names}" var="name">
${name}
</c:forEach>
在控制器类传到视图页面前可以先用request.setAttribute("names", names);放到请求中带着集合跳转到视图页面,这里是直接写到了视图页面所以用<%%>括起来。
再来一个Map集合:
<%
Map map = new LinkedHashMap();
map.put("aaa", "111");
map.put("bbb", "222");
map.put("ccc", "333");
request.setAttribute("map", map);
%>
<c:forEach items="${map}" var="entry">
${entry.key } ${entry.value } <br/>
</c:forEach>
大概讲解同上,只是在循环的时候多了键值的表达${entry.key},${entry.value}
在看看list的遍历输出,写到这里大概就不用讲解了,看都能明白了:
<%
List list = new ArrayList();
list.add(new Student("刘备",18,"上海"));
list.add(new Student("张飞",19,"香港"));
list.add(new Student("关羽",17,"东京"));
list.add(new Student("赵云", 19,"湖北"));
list.add(new Student("诸葛亮",19,"巴黎"));
list.add(new Student("曹操",19,"上海"));
list.add(new Student("袁绍",16,"深圳"));
request.setAttribute("list", list);
%>
<c:forEach items="${list}" var="person" >
${person.name } ${person.age } ${person.city } <br/>
</c:forEach>
基本完毕
// 求 1+2+3... + 9 的 和
<%
int sum = 0;
for(int i=1;i<=9;i++){
sum+=i;
}
out.print(sum);
%>
<!-- 用 foreach 循环 -->
<c:forEach begin="1" end="9" step="1" var="i">
<c:set var="result" value="${result+i }"></c:set>
</c:forEach>
${result }