使用 JSTL 迭代 Map 对象
是否可以使用普通 JSTL 实现以下内容:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<table>
<%
java.util.Map msgMap = (java.util.Map) request.getAttribute("messageMap");
for(int loopCount=1;loopCount>0;loopCount++) {
if(msgMap.containsKey("/packagesBO/packages["+loopCount+"]/packageId")) {
%>
<tr>
<td><%=msgMap.get("/packagesBO/packages["+loopCount+"]/packageName")%></td>
</tr>
<%
}
else {
break;
}
}
%>
</table>
Is it possible to implement the following using plain JSTL:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<table>
<%
java.util.Map msgMap = (java.util.Map) request.getAttribute("messageMap");
for(int loopCount=1;loopCount>0;loopCount++) {
if(msgMap.containsKey("/packagesBO/packages["+loopCount+"]/packageId")) {
%>
<tr>
<td><%=msgMap.get("/packagesBO/packages["+loopCount+"]/packageName")%></td>
</tr>
<%
}
else {
break;
}
}
%>
</table>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,看看 c:forEach 和 c:if 以及表达式语言。
这是一个例子(未测试):
Yes it is have a look at c:forEach and c:if and expression language.
Here an example (not tested):