60- foreach双重链表循环 '${que.options }' Property 'options' not found on type com.ctgu.modules.inform.entity.Question2$$EnhancerByCGLIB$$5e91af0d

查了好久的问题!!!

在jsp中用两层c:forEach循环嵌套取对象链表中的对象的一个属性是链表,在取这个属性链表时,如果出现:

  ‘${que.options }‘ Property ‘options‘ not found on type  com.ctgu.modules.inform.entity.Question2$$EnhancerByCGLIB$$5e91af0d

可能的原因是:

该对象的链表属性没有写get,和set方法,导致前端取不到。

两层c:forEach循环嵌套

题目要求:
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>
---------------------

60- foreach双重链表循环 '${que.options }' Property 'options' not found on type com.ctgu.modules.inform.entity.Question2$$EnhancerByCGLIB$$5e91af0d

原文地址:https://www.cnblogs.com/zhumengdexiaobai/p/11183975.html

时间: 2024-11-07 19:20:28