开发者

Use <c:forEach> with HashMap [duplicate]

This question already has answers here: How to loop through a HashMap in JSP? (3 answers) Closed 6 years ago.

I have a java class that sets 开发者_如何学Goan servlet attribute to a HashMap object:

request.setAttribute("types", da.getSecurityTypes());

where request is an HttpServletRequest Object, and da.getSecurityTypes() returns a HashMap Object.

Is there a way to go through the HashMap collection using c:foreach or some other JSTL tags?

I was thinking:

 <c:forEach var="type" items="${types}">
                 ...
     </c:forEach>

Or if it can't be done, how would one make a custom tag to process this?

Resorting to Java code in my JSP page is be my last resort and I'd like to know if this is possible with JSTL.

Thanks, Jonas.


Yes, this is perfectly acceptable.

When you use <c:forEach> to iterate over a Map, each item in the iteration is an instance of Map.Entry. So given your example:

<c:forEach var="type" items="${types}">
   Key is ${type.key}
   Value is ${type.value}
</c:forEach>


It works, you'll have type.key and type.value to play with in the loop.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜