日期:2014-05-17  浏览次数:20611 次

页面jstl操作Map集合问题
有对象B 属性为bid----bname
action中有map集合里面有数据 
bid----bname形式 比如:
1--变压器
2--高电压
3--电阻
4--电缆线
最后request.setAttribute("map",map);
action中有数据List集合 里面装了对象A 即 List<A> list=xxxxx.xxx();
最后request.setAttribute("list",list);

A对象中有属性 id,name,bid(B对象的id)

页面如下:
   

       <c:forEach items="${requestScope.list}" var="obj">
          <ul>
<li>
          名称:&nbsp;${obj.name}
</li>
<li>
   b的名称:&nbsp; //根据obj的bid去map中去对应的值 </li>
</ul>
      </c:forEach>
   

求大神给方法,怎么网上的方法都不行呢??
jstl 对象 Java

------解决方案--------------------
这个只能自定义标签实现,或者在后台处理好了传到前台
比如在A里面定义B b;
然后再前台${obj.b.bname}
标签不是万能的,这种情况在后台更好
------解决方案--------------------

<c:forEach var="obj" items="${requestScope.list}">

<c:forEach var="map" items="${obj}">
<ul>
<li>
名称:&nbsp;${map.value}<br/>
ID : &nbsp;${map.key}
</li>
<li>
b的名称:&nbsp; //根据obj的bid去map中去对应的值
</li>
</ul>
</c:forEach>
</c:forEach>

多一个循环
------解决方案--------------------
再循环遍历map呗,不过jstl是负责呈现的,最好不要把任何逻辑的东西用jstl来处理,这个东西你放后来弄好就行,养成这个习惯你以后代码将更清晰