struts2中标签<s:iterator>如何在JSP迭代 循环一个hashmap

map结构为key:一个对象A{ id,name}
value:一个list<对象b{id,name}>
问 如何使用<s:iterator>循环出key中对象的name属性跟value中的list中的对象B的name属性

先50分 回答好了补50分

第1个回答  2015-11-23
假设返回的数据集合为gradesList,集合里面的每个对象有grade属性。
用两个iterator遍历如下:
<s:iterator value="gradesList" status="st">
<s:if test="#st.index<=6">
<s:property value="grade"/>
</s:if>
</s:iterator>

<s:iterator value="gradesList" status="st">
<s:if test="#st.index>6">
<s:property value="grade"/>
</s:if>
</s:iterator>本回答被网友采纳
第2个回答  2011-05-18
JSTL 中有一个和<s:iterator> 一样功能的标签, <C;foreach>,
还有你直接在jsp页面中用java代码的循环也可以完成数据的展示
第3个回答  2011-05-18
JAVA代码
Map<String,String> maps =
new HashMap<String,String>();
maps.put("key1","value1");
maps.put("key2","value2");
request.setAttribute("maps",maps);
JSP代码
<c:forEach var="entry" items="${maps}">
${entry.key} <br/>
<s:iterator value="entry.value" var="p">
<li><s:property value="#p.name"/>:
<s:property value="#p.id"/>:
</li>
</s:iterator>
</c:forEach>

你试试...追问

哥 我的map里面有个实体 还有一个list两个string的我也会

struts2标签如何实现for循环
Map<String,Integer> m=new HashMap<String,Integer>()for(String s:m.keySet())(s为m中的一个key值)for(Integer i:m.values())(i为m中的一个value值)...这是JDK1.5的新特性挺好用的。

高手们,下面格式struts2 标签如何遍历出来呢?谢谢
String> map1 = new HashMap(); map1.put("m1k1", "m1v1"); map1.put("m1k2", "m1v2"); items.add(map1); Map<String, String> map2 = new HashMap(); map2.put("m2k1", "m2v1"); map2

如何用<c:forEach>取HashMap类型的值
你想取出Map中的key,就用${shopcart.key},Map中的value用${shopcart.value}。当然,若value中是个POJO的话,可以用${shopcart.value.id},${shopcart.value.name}等来取出POJO相应的属性。不过你的好像应该用${shopcart.value.product.name}.因为你的product是shopcart的一个属性。只是大概看了一...

从数据库中查出两列数据,返回的是一个hashmap,怎么把其中的一列作为显示...
map.entrySet()方法; 可以得到Set<Map.Entry> 的对象,利用迭代,每个对象都有getKey,和getValue方法

struts2中select标签发生错误,没有找到解决方法
上面有一个select下拉框,下面有一个select下拉框.因为我第二个select的name写错了,保存的时候属性注入用的是name.就一直报这个错误(更为误导的是,老是报第一个select的错,因为我第一个select根本就必要注入也就是没有name属性的).如果你有俩select的话,不妨仔细检查一下两个的name属性是否都填对了...

struts2 怎么把错误信息输出到标签
当发生错误时,struts2给出来各种错误级别的提示: (1) action级别this.addActionError(anErrorMessage) addActionError(放的是错误的提示信息),它应该是一个集合,每次都忘这个集合中添加错误信息。 页面使用<s:actionerror\/>标签显示错误信息,指如果存在action的错误信息,就把错误信息显示出来。 <s:actionerror\/>标...

struts2标签,如何分别取得下拉框中的key value
在你的JSP中给下拉框设个name,然后在struts2中取出这个名字的值。<SELECT NAME="city" SIZE="1"> 这个设置个NAME为city,在action中可以这样取值 HttpServletRequest req = ServletActionContext.getRequest();String city = req.getParameter("city");key value的值也是一样的 ...

struts2中如何把数据库中的值加入到下拉列表框中,获取数据库的方法已...
private String name;生成set、get方法 public HashMap addressMap(){ list = new ArrayList<String>();while(rs.next()){ ...HttpServletRequest request = ServletActionContext.getRequest();request.setAttribute("map",hm);request.setAttribute("aa",name);} } JSP页面下拉菜单:<s:select ...

如何用<c:forEach>取HashMap类型的值
你想取出Map中的key,就用${shopcart.key},Map中的value用${shopcart.value}。当然,若value中是个POJO的话,可以用${shopcart.value.id},${shopcart.value.name}等来取出POJO相应的属性。不过你的好像应该用${shopcart.value.product.name}.因为你的product是shopcart的一个属性。只是大概看了一...

jdk1.5与jdk1.6的区别
这是另一个例子: for (Iterator<integer> it = n.iterator() ; it.hasNext() ; ) if (it.next() < 0) it.remove(); 在此例中,我们想从整数集合中删除负数项。为此,需要对迭代器调用一个方法,但是当使用增强的for 循环时,迭代器对我们来说是看不到的。因此,我们只能使用Java 5之前版本的迭代方法...

相似回答