如何用遍历Map集合中的对象值

emon123 2009-03-23 01:15:17
有个集合Map<key,value>,其中key里面封装不同的商品bean对象(包括tradeId,tradeName,price),value是商品的数量(num)。
现要求在jsp页面中显示遍历出来每个bean的属性值(goodsId,goodsName,price,num)不知怎样用<c:foreach>来遍历,我的代码如下,但报错:
<td>${map.key.tradeName}<input type="hidden" value="${map.key.tradeId}"></td>
<td>${map.key.price}</td>
<td><input type= "text">${map.key.value}</td>
...全文
3100 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
snow0613 2010-09-21
  • 打赏
  • 举报
回复
看看~
xuwei1027 2009-08-30
  • 打赏
  • 举报
回复
学习 学习
emon123 2009-03-23
  • 打赏
  • 举报
回复
感谢楼上的各位,我已经调试好了。以下代码是经过测试的:
<c:forEach var="map" items="${map}">
<tr>
<td>${map.key.tradeName}<input type="hidden" value="${map.key.tradeId}"></td>
<td>${map.key.price}</td>
<td><input type= "text" value="${map.value}"></td>
<td>asda</td>
<td><a href='#'>删除</a></td>
<tr>
</c:forEach>
hoojo 2009-03-23
  • 打赏
  • 举报
回复

Map map = new HashMap();
map.put(key,javabean);
Set keys = mmap.keySet();//取得所有的键
Iterator it = keys.iterator();//取得键所有的对象
Object[] obj = keys.toArray();
int i = 0;
List list = new ArrayList();
while(it.hasNext()){
javabean bean = (javabean)map.get((Integer)obj[i]);
//这里可以得到你要的bean了,bean.price ,……
list.add(bean);
it.next();
i++;
}
request.setAttribute("shop",list);

Jsp 代码:
<c:forEach item="${shop}" var="key">
<td>${key.tradeName} <input type="hidden" value="${key.tradeId}"> </td>
<td>${key.price} </td>
<td> <input type= "text">${key.value} </td>
</c:forEach>

兄弟,这样够哥们了吧!
试试看……
^_@
hoojo 2009-03-23
  • 打赏
  • 举报
回复

前提:
Map map = new HashMap();
map.put(key,javabean);
Set keys = mmap.keySet();//取得所有的键
Iterator it = keys.iterator();//取得键所有的对象
Object[] obj = keys.toArray();
int i = 0;
while(it.hasNext()){
javabean bean = (javabean)map.get((Integer)obj[i]);
//这里可以得到你要的bean了,bean.price ,……
it.next();
i++;
}

兄弟,你在做购物车吧!
我是这样的(那时候还不会jstl),你可以把它迭代 放入List中
然后用forEach 循环输入出!
^_@
Jacky_Zhu_1983 2009-03-23
  • 打赏
  • 举报
回复
<c:forEach var="bean对象" items="${bean对象MAP}">
ZiSheng 2009-03-23
  • 打赏
  • 举报
回复

<C:forEach var="goods" items="${yourmap}">
${goods.key.tradeId}
${goods.key.tradeName}
${goods.key.price}
</c:forEach>
emon123 2009-03-23
  • 打赏
  • 举报
回复
一楼的items="${bean对象List}"
页面上需要的是tradeId,tradeName,price,num全部信息,你那个是bean对象list,如果tradeId作为key,那么依照你那种方法只能遍历出tradeName,price,num字段,但我这里是用Map集合存的。tradeId怎么办呢?
sjkof 2009-03-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 mousetsun 的回复:]
- -!
你应该key里面放tradeId
value 放bean对象 把num也作为bean对象属性

<c:forEach var="bean对象" items="${bean对象List}">
<c:out value="${bean对象.属性}"/>

这样...
[/Quote]

支持
Jacky_Zhu_1983 2009-03-23
  • 打赏
  • 举报
回复
- -!
你应该key里面放tradeId
value 放bean对象 把num也作为bean对象属性

<c:forEach var="bean对象" items="${bean对象List}">
<c:out value="${bean对象.属性}"/>

这样...

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧