两层c:forEach循环嵌套

来源:互联网 发布:淘宝智能版装修素材 编辑:程序博客网 时间:2024/05/18 03:58
题目要求:
spring MVC的返回结果为:一个类中嵌套一个list,在前台如何通过两层c:forEach来控制?

{msg=[Field [id=1, name=经济学, plist=[Profession [id=1, name=理论经济学], Profession [id=2, name=应用经济学]]]

解答过程:

<c:forEach items="${msg }" var="flist">
<span class="title">${flist.name }</span><br />
<c:forEach items="${flist.plist}" var="plist">
${plist.name }<br />
</c:forEach>
</c:forEach>

或:

<c:forEach items="${msg }" var="flist">
<span class="title">${flist.name }</span><br />
<c:set value="${flist.plist }" var="plist" />
<c:forEach items="${flist.plist}" var="plist">
${plist.name }<br />
</c:forEach>
</c:forEach>

xml如下:

<resultMap type="Field" id="selectFieldWithProfession">
<id column="field_id" property="id"/>
<result column="field_name" property="name"/>
<collection property="plist" ofType="Profession">
<id column="profession_id" property="id"/>
<result column="profession_name" property="name"/>
</collection>
</resultMap>

<!-- 前台导航一级领域及二级学科 -->
<select id="selectAllFieldWithProfession" resultMap="selectFieldWithProfession">
select f.field_id,
f.field_name,
p.profession_id,
p.profession_name
from t_field f
left outer join t_profession p
on f.field_id = p.field_id
</select>

原创粉丝点击