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

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 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>