目录

Java集合如何在JSP中展示

Java集合如何在JSP中展示

1. Java集合如何在JSP中展示

1.1 JSP遍历Java中的List、Set集合

现Java中有如下的数据,通过ModelAndView绑定传到JSP页面

public ModelAndView userList() {
    List<String> userList = new ArrayList<>();
    userList.add("张三");
    userList.add("李四");
    userList.add("王二麻子");
    ModelAndView model = new ModelAndView();
    model.addObject("userList", userList);
    model.setViewName("usersPage");
    return model;
}

下面展示usersPage.jsp页面如何遍历users。

<c:forEach var="user" items="${userList}" varStatus="loop">
	<p>
        ${loop.index},${user}
    </p>
</c:forEach>

结果是

0, 张三
1, 李四
2, 王二麻子

现在解释一下 <c:forEach> 中几个参数的意义。在讲这些参数前,先来看看Java中的forEach

上面JSP里面循环意思和下面Java中的代码意思差不多。

for (String user : userList) {
    System.out.println(user);
}

所以,var就是所遍历集合中的每一个对象,items就是遍历的集合,varStatus是遍历的次数,如上展示的用 ${loop.index} 就可以得到遍历下标。

1.2 遍历Map集合

其实遍历List、Set、Map集合都是差不多的,只不过Map中的元素是key-value的,那么如何获取呢

现Java中有如下数据

public ModelAndView userList() {
    Map<String, String> maps = new HashMap<>();
    maps.put("username", "root");
    maps.put("password",  "123456");
    ModelAndView model = new ModelAndView();
    model.addObject("maps", maps);
    model.setViewName("usersPage");
    return model;
}

现展示usersPage.jsp中如何显示数据

<c:forEach var="map" items="${maps}">
    <p>
        ${map.key}:${map.value}
    </p>
</c:forEach>

结果

username:root
password:123456