JSP/JSTL将JavaBean返回的HashMap转换为字符串
我不是JSP技术方面的专家,我在这里寻找一些帮助来从bean访问HashMap。我有一个java类,它返回一个Hashmap,并希望在JSP中访问Hashmap的键和值。 下面是我试过的JSP/JSTL将JavaBean返回的HashMap转换为字符串,java,jsp,javabeans,el,Java,Jsp,Javabeans,El,我不是JSP技术方面的专家,我在这里寻找一些帮助来从bean访问HashMap。我有一个java类,它返回一个Hashmap,并希望在JSP中访问Hashmap的键和值。 下面是我试过的 //jsp: <jsp:useBean id="mc" class="MyMapClassReturnsMap" /> <c:forEach items="${mc.getMap()}" var="mapkeyval"> <tr> <td><c:out v
//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
//jsp:
//错误:
javax.el.PropertyNotFoundException:在java.lang.String类型上找不到属性“key”
如果我从显示地图为字符串的mapkeyval页面中删除.key,则返回地图为字符串的页面。我不知道我遗漏了什么,但任何指点都将不胜感激
我确信我正在从我的类返回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());
}
HashMap jname1=newhashmap();
..
..
公共静态void main(字符串[]args){
MyMapClassReturnsMap ta=新的MyMapClassReturnsMap();
ta.搜索文件(“根文件”、“客户文件”);
对于(Map.Entry s:ta.jname1.entrySet())
System.out.println(“HashMap值:“+s.getKey()+”:“+s.getValue());
}
试试这个
<c:forEach items="${jname1 }" var="mapkeyval">
并为类中的“jname1”提供getter和setter方法 您100%确定您正在从
mc.Map
返回Map
?问题是,如果您在Map
上迭代,那么您的代码应该“正常工作”;主要名称:ta.jname1。真的一样吗?为什么不在main中使用ta.getMap()来验证它是否有效?