一些集合的循环输出,从控制器(C)到视图页面(V)

我是在写代码的时候在网上找资料遇到的一些好的简单直白的例子,我就把他记录整理下来。与大家分享

从数据库查到了记录,循环到页面形成一个表格:

<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 }




















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值