不好意思. 现在是这样: 我有一个Map对象在Session里, 里面的每个键值对是[String - List]这样的, 或者说就是类似 "部门名称" - "该部门相关信息的List" 这样. 现在想在页面显示每个部门的名称和对应List里的信息, 不知道该怎么显示... 如果是单个List的话我会用Struts的Logic:iterator标签以表格的形式显示, 但因为这个List是存在Map里的, 就不知道怎么显示了... 而且Map里有多少个List都不知道. 总之就是想把Map里的那些List在页面上显示成多个表格, 每个表格上面有这个表格对应的部门名称; 请问应该如何循环显示呢? 用普通JSP标签或者Struts标签都可以的, 谢谢大家了!!
<bean:write name="element" property="key"/>
<logic:iterate id="elementValue" name="element" property="value" >
<bean:write name="elementValue"/>
</logic:iterate>
</logic:iterate>
<%
java.util.Map map=deptMaprequest.getAttribute("deptMap");//假设你的部门信息名为deptMap
for(Iterator iter=map.keySet().iterator();iter.hasNext();){
String deptName=iter.next();
%>
部门名称:<%=deptName%>
<%
List deptInfo=(List)map.get(deptName);
for(int i=0; i<deptInfo.size();i++){
String info=(String)deptInfo.get(i);
%>
部门信息:<%=deptInfo%>
<%
}
}
%>
LinkedHashMap map = new LinkedHashMap();
map.put("1", "a");
map.put("2", "b");
map.put("3", "c");
map.put("4", "d");
map.put("5", "e"); map.put("7", "g");
map.put("6", "f");
// System.out.println(ha);
// System.out.println(ha.get("7")); Set key = map.keySet();// ��map�е� �� ȡ�����Set��
Iterator it = key.iterator();// ���Set�е�key����
while (it.hasNext()) {
String keys = it.next().toString();// Set�еļ�
String value = map.get(keys).toString();// map�е�ֵ
System.out.println("值是" + value + " " + "键是" + keys);
}自己改改吧。
差不多就是这样了,你也可以用Foreach来迭代出来。
<c:forEach items="${session.map}" var="ele"> //${session.map}":session中的Map对象
${ele.key} //map的key值
<c:forEach items="${ele.value}" var="eleList"> //${ele.value}":map的value值
${eleList} //list的值
</c:forEach>
</c:forEach>
好像没办法直接通过key拿到value
但循环还是很方便的
我想在jsp页面上 用 EL表达式 来遍历
但是没有思路