【发布时间】:2014-07-06 06:37:05
【问题描述】:
我不是 JSP 技术方面的专家,我在这里寻求一些帮助以从 bean 访问 HashMap。我有一个返回 Hashmap 的 java 类,并且想在 JSP 中访问 hash map 的键和值。 以下是我尝试过的
//jsp:
<jsp:useBean id="mc" class="MyMapClassReturnsMap" />
<c:forEach items="${mc.getMap()}" var="mapkeyval">
<tr>
<td><c:out value="${mapkeyval.key}"></c:out></td>
</tr>
</c:forEach>
//Error:
javax.el.PropertyNotFoundException: Property 'key' not found on type java.lang.String
如果我从将地图显示为字符串的 mapkeyval 页面中删除 .key,则页面将地图作为字符串返回。不知道我错过了什么,但任何指针都会不胜感激 gr8ly
我确定我正在从我的班级返回 HashMap,以下是我的主要方法,它按预期工作
HashMap<String, String> jname1 = new HashMap<String, String>();
..
..
public static void main(String[] args) {
MyMapClassReturnsMap ta = new MyMapClassReturnsMap();
ta.searchFiles("root","CUST");
for(Map.Entry<String, String> s: ta.jname1.entrySet())
System.out.println("HashMap Values : "+ s.getKey() + " :" +s.getValue());
}
【问题讨论】:
-
您 100% 确定您从
mc.map返回了Map? canonical answer 是您的代码应该“正常工作”,如果您正在迭代Map。 -
刚刚用我的测试主方法更新了帖子,按预期工作
-
JSP: mc.getMap();主要:ta.jname1。真的一样吗?为什么不在 main 中使用 ta.getMap() 来验证它是否有效?