Iterate over HashMap with JSTL
Written by coregps on Friday, July 21st, 2006 in Java.
If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting!
I’ve ever written a java bean base on Commons DBUtils, which returns an ArrayList of HashMap results from SQL query. The following is one of my Java Bean:
package database;
import java.util.ArrayList;
import java.util.List;
public class CategoryDBAO {
...
public List getAllCategories() {
ArrayList categoryList = new ArrayList();
try {
String sql = “select categories_id, categories_name from categories”;
attrList = DBConn.searchToMapList(sql);
} catch (Exception e) {
e.printStackTrace();
}
return categoryList;
}
…
}
Many times I need to iterate over the set of the values stored in the map. This can be done like this:
<jsp:useBean id="categoryDB" class="database.CategoryDBAO" scope="page" />
<select name="categories_id" id="categories_id">
<c:forEach var="category" begin="0" items="${categoryDB.allCategories}“>
<c:set var=”categoryid” value=”${category[’categories_id’]}” />
<c:set var=”categoryname” value=”${category[’categories_name’]}” />
<option value=”${categoryid}”>${categoryname}</option>
</c:forEach>
</select>
What should be noted here is the code fragment in red.










