![](/img/trans.png)
[英]How to loop the key and value(which is in UserDefinedClass) of Hashmap in ModelAndView to JSP using JSTL
[英]How to display HashMap Key in jsp/jstl
我是JSP / JSTL的新手。
我已根据请求设置了HashMap,如下所示
HashMap <String, Vector> hmUsers = new HashMap<String, Vector>();
HashMap hmUsers = eQSessionListener.getLoggedinUsers();
request.setAttribute("currentLoggedInUsersMap", hmUsers);
我在My jsp中警告HashMap如下
<script> alert("<c:out value = '${currentLoggedInUsersMap}' />"); </script>
到目前为止,所有这些都符合我的期望。
但是,如果我尝试获取此HashMap的密钥,则不会发出任何警报。
<script> alert("<c:out value = '${currentLoggedInUsersMap.key}' />"); </script>
有什么我错的吗?
提前致谢。
这是您在JSP中迭代Map所需的内容。 有关更多信息,请查看JSTL Core c:forEach Tag 。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:forEach items="${currentLoggedInUsersMap}" var="entry">
Key = ${entry.key}, value = ${entry.value}<br>
</c:forEach>
它就像在JAVA中使用的Map.Entry,如下所示,以获取键值。
for (Map.Entry<String, String> entry : currentLoggedInUsersMap.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
}
阅读有关如何在JSP中循环HashMap的详细描述?
您可以将hashmap迭代为:
<c:forEach items="${currentLoggedInUsersMap}" var="usersMap" varStatus="usersMapStatus">
//Key
Key: ${usersMap.key}
//Iterate over values ,assuming vector of strings
<c:forEach items="${usersMap.value}" var="currentLoggedInUserValue" varStatus="valueStatus">
Value: ${currentLoggedInUserValue}
</c:forEach>
</c:forEach>
这里$ {usersMap.key}是地图中存在的键列表,$ {usersMap.value}是你必须在内循环中再次迭代的向量,如上所示。
确保导入:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.