JSP页面嵌套c:forEach
2024-10-21 06:02:14
做java web项目有时候会需要在页面使用嵌套<c:forEach>遍历一个List,但是嵌套很容易忽略一些东西导致出错
后台代码:
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
for (Map<String, Object> map : list) {
List<Map<String, Object>> wordsList = new ArrayList<Map<String, Object>>();
Map<String, Object> tmap = new HashMap<String, Object>();
tmap.put("author", "author");
tmap.put("sign", "sign");
wordsList.add(tmap);
map.put("wordsList", wordsList);
}
model.addAttribute("list", list);
这个时候list里面的每一个元素还包含一个wordsList,到页面遍历就需要用到嵌套<c:forEach>
JSP页面代码:
<c:forEach items="${list }" var="cl" varStatus="i">
<c:forEach items="${cl.wordsList}" varStatus="i" var="wl">
<li>${wl.author }</li>
<li>${wl.sign }</li>
</c:forEach>
</c:forEach>
在写内层循环的时候很容易犯错,写成
<c:forEach items="${wordsList}" varStatus="i" var="wl">
<li>${wl.author }</li>
<li>${wl.sign }</li>
</c:forEach>
内层循环的items属性需要带上上层循环的var属性值,必须写成
<c:forEach items="${cl.wordsList}" varStatus="i" var="wl">
<li>${wl.author }</li>
<li>${wl.sign }</li>
</c:forEach>
最新文章
- 在DevExpress中使用CameraControl控件进行摄像头图像采集
- <;十四>;JDBC_c3p0数据库连接池
- Python 下的unittest测试框架
- MMORPG大型游戏设计与开发(客户端架构 part11 of vegine)
- Enum的使用
- POJ 2101
- HDU2838Cow Sorting(树状数组)
- 表单元素的submit()方法和onsubmit事件(转)
- define a class for a linked list and write a method to delete the nth node.
- [Android FrameWork 6.0源码学习] LayoutInflater 类分析
- 编写一篇博文介绍COOKIE和Session的原理及异同
- 阿里云服务器上通过Docker部署redmine
- proto 2 语法
- TransmittableThreadLocal 解决 线程池线程复用 无法复制 InheritableThreadLocal 的问题.
- php中如何解决显示数据库中的内容乱码
- js-ES6学习笔记-Generator函数
- Openstack入门篇(十七)之Cinder服务-->;安装并配置一个本地存储节点
- 数据结构与算法之KMP 字符串匹配
- DLL的概念、dll导出类(转贴)
- 全局变量重复定义,fatal error LNK1169: 找到一个或多个多重定义的符号