惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cyberwarzone
Cyberwarzone
Recent Announcements
Recent Announcements
D
DataBreaches.Net
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
博客园 - 聂微东
博客园 - 【当耐特】
aimingoo的专栏
aimingoo的专栏
N
Netflix TechBlog - Medium
V
Visual Studio Blog
The GitHub Blog
The GitHub Blog
Blog — PlanetScale
Blog — PlanetScale
Engineering at Meta
Engineering at Meta
L
LangChain Blog
The Cloudflare Blog
Y
Y Combinator Blog
AI
AI
P
Palo Alto Networks Blog
美团技术团队
有赞技术团队
有赞技术团队
I
Intezer
Last Week in AI
Last Week in AI
Know Your Adversary
Know Your Adversary
D
Darknet – Hacking Tools, Hacker News & Cyber Security
NISL@THU
NISL@THU
博客园 - 三生石上(FineUI控件)
MongoDB | Blog
MongoDB | Blog
S
Schneier on Security
IT之家
IT之家
博客园 - 司徒正美
A
Arctic Wolf
罗磊的独立博客
雷峰网
雷峰网
Vercel News
Vercel News
SecWiki News
SecWiki News
AWS News Blog
AWS News Blog
GbyAI
GbyAI
WordPress大学
WordPress大学
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
T
Tor Project blog
V
Vulnerabilities – Threatpost
Hugging Face - Blog
Hugging Face - Blog
H
Heimdal Security Blog
Schneier on Security
Schneier on Security
H
Help Net Security
T
Troy Hunt's Blog
N
News and Events Feed by Topic
爱范儿
爱范儿
V2EX - 技术
V2EX - 技术
Project Zero
Project Zero
T
The Exploit Database - CXSecurity.com

博客园 - limeiky

无法打开 物理 文件 XXX.mdf"。操作系统错误 5:"5(拒绝访问。)"的解决办法 【2026】最简单的白嫖百度文库方法 如何做到子DIV相对DIV底部对齐 idea 连接 MySQL 8.0 以上遇到 Access denied for user ‘root‘@‘localhost‘ (using password: YES)密码错误的问题 idea解决程序包不存在报错 正则表达式解析 Vue之slot插槽和作用域插槽 ant design vue 中的表单校验 v-decorator的使用 SQL更新固定时间显示格式的时间字段 Vue中 let _this = this的作用 vue中的箭头函数 => vue-router 基本使用 如何限制同一用户同时在不同客户端登录? qrcode.js插件,将文字内容转换成二维码格式 JS生成一维码(条形码)功能示例 qrcode.js插件,将文字内容转换成二维码格式 在一个DaoImpl实现中调用另一个DaoImpl中的方法 echarts柱状图坐标文字显示不完整解决方式 Myeclipse在debug模式下没加断点程序卡住,start模式下可以正常启动
c:forEach 标签中遍历map集合
limeiky · 2020-05-29 · via 博客园 - limeiky

c:forEach 标签中遍历map集合
转自:《c:forEach 标签中遍历map集合》网址:https://blog.csdn.net/moxiaoya1314/article/details/53610378

后台代码:

    Map<VoteQuestion, List<VoteOption>> map = new HashMap<VoteQuestion, List<VoteOption>>();//创建一个map集合
                        
                        List<VoteQuestion> lVoteQuestions = voteQuestionService.getVid(voteMainTitle.getVid()); //根据vid查询遍历
                        if(lVoteQuestions.size()>0 && lVoteQuestions!=null){
                            model.addAttribute("lVoteQuestions", lVoteQuestions);
                            
                            for (int j = 0; j < lVoteQuestions.size(); j++) {
                                VoteQuestion vQuestion = lVoteQuestions.get(j);
                                String qid = vQuestion.getQid(); //获取题目表中的qid
                                
                                List<VoteOption> lOptions = voteOptionService.findQid(qid); //根据qid查询遍历VoteOption
                                if(lOptions.size()>0 && lOptions!=null){
                                    model.addAttribute("lOptions", lOptions);
                                }
                                map.put(vQuestion, lOptions);
                            }
                        }    
                        model.addAttribute("map", map);

前台代码:

    <c:forEach items="${map}" var="m" varStatus="vq">  
                            <tr>
                                <td>${vq.count }</td>
                                <td>${fns:unescapeHtml(m.key.question)}
                                    <c:if test="${m.key.questionType!='问答' }">
                                         题目选项:
                                         <c:forEach items="${m.value}" var="vOption">
                                             <c:if test="${m.key.questionType eq '单选' }">
                                                <input type="radio" class="i-check">${vOption.title}
                                            </c:if>
                                            
                                            <c:if test="${m.key.questionType eq '多选' }">
                                                <input type="checkbox" class="i-check">${vOption.title}
                                            </c:if>
                                         </c:forEach>
                                     </c:if>
                                </td>
                                <td>
                                    <shiro:hasPermission name="vote:voteQuestion:edit">
                                        <a href="#"
                                            οnclick="openDialog2('修改题目信息', '${ctx}/vote/voteQuestion/form?id=${m.key.id}&vid=${voteMainTitle.vid}&isAdd=1','60%', '60%')"
                                            class="btn btn-success btn-xs"><i class="fa fa-edit"></i>
                                            修改</a>
                                    </shiro:hasPermission>
                                    <shiro:hasPermission name="vote:voteQuestion:del">
                                        <a href="${ctx}/vote/voteQuestion/delete?id=${m.key.id}&VoteID=${voteMainTitle.id}"
                                            οnclick="return confirmx('确认要删除该题目信息吗?', this.href)"
                                            class="btn btn-danger btn-xs"><i class="fa fa-trash"></i>
                                            删除</a>
                                    </shiro:hasPermission></td>
                            </tr>
                        </c:forEach>

具体实现的其他方法代码:

    <c:forEach items="${customerMap}" var="item">  
                    <option value="${item.key }"   
                    title="编码:${item.value.customer_num },许可证号:${item.value.license_key },简称:${item.value.short_name },联系地址:${item.value.contact_address },联系电话:${item.value.contact_phone }">  
                    ${item.value.corporate_name }</option>  
                </c:forEach>

<c:foreach循环一个HashMap,map中的value为一个bean,页面获取key即key对应bean中的属性,获取value即value对应bean中的属性

我的使用

  <c:forEach items="${preTipMap}" var="map" varStatus="vq">
            <c:forEach items="${map.value}" var="item">
                var planName = "${item.planNum}"; //计划名称
              
                <c:if test="${map.key == 'inspectPlanList'}">
                    nextTime = "${item.nextTime}"; //下次巡检/保养时间
                </c:if>
              
            </c:forEach>
        </c:forEach>