使用<c:forEach>和HashMap
我有一个Java类,将servlet属性设置为一个HashMap对象:
request.setAttribute("types", da.getSecurityTypes());
request
是一个HttpServletRequest对象, da.getSecurityTypes()
返回一个HashMap对象。
有没有办法通过使用c:foreach或其他JSTL标签的HashMap集合?
我刚在想:
<c:forEach var="type" items="${types}"> ... </c:forEach>
或者,如果无法完成,那么将如何制作自定义标签来处理此问题?
在我的JSP页面中使用Java代码是我最后的手段,我想知道这是否可以用JSTL。
谢谢,乔纳斯。
是的,这是完全可以接受的。
当您使用<c:forEach>
迭代Map
,迭代中的每个项目都是Map.Entry
一个实例。 所以给你的例子:
<c:forEach var="type" items="${types}"> Key is ${type.key} Value is ${type.value} </c:forEach>
它的工作原理,你将有type.key
和type.value
在循环播放。