How to iterate HashMap using JSTL forEach loop?
59,148
Solution 1
Try this,
suppose my MAP is :-
Map<String, String> countryList = new HashMap<String, String>();
countryList.put("United States", "Washington DC");
countryList.put("India", "Delhi");
countryList.put("Germany", "Berlin");
countryList.put("France", "Paris");
countryList.put("Italy", "Rome");
request.setAttribute("capitalList", countryList);
So in JSP ,
<c:forEach var="country" items="${capitalList}">
Country: ${country.key} - Capital: ${country.value}
</c:forEach>
Hope this helps !
Solution 2
For accessing dynamic value from hash map you can use brace notation []
.
${someMap[dynamicKey]}
For example, consider @Som's answer map
Map<String, String> countryMap = new HashMap<String, String>();
countryMap.put("United States", "Washington DC");
countryMap.put("India", "Delhi");
countryMap.put("Germany", "Berlin");
countryMap.put("France", "Paris");
countryMap.put("Italy", "Rome");
request.setAttribute("countryMap", countryMap);
JSP
Set key
<c:set var="keyName" value="India" />
pass the dynamic key
${countryMap[keyName]}
Or directly
${countryMap['United States']}
See also
![Admin](/assets/logo_square_200-5d0d61d6853298bd2a4fe063103715b4daf2819fc21225efa21dfb93e61952ea.png)
Author by
Admin
Updated on July 09, 2022Comments
-
Admin almost 2 years
In my Spring MVC application i have HashMap returned from my controllerServlet. Now I need to print that in my jsp using JSTL. Please help on this. I'm new in all this.