日期:2014-05-18  浏览次数:20595 次

jstl嵌套问题,解决就给分在线等
<c:forEach   var= "element "   items= "${list} "   >
list是User对象,
User里面有一个userRoles是一个Set,
userRoles里面对象是UserRole,
UserRole里面有id,   类型是UserRoleId,
id里面有User   user,Role   role,
role里面有roleName,
我就是要打印出roleName
</c:forEach>

------解决方案--------------------
<c:out value= "${element.userRoles.UserRole.id.role.roleName} "/>

有写这么深的嘛?真正应用的话写成这样逻辑估计有点问题,日后维护也是个问题。
------解决方案--------------------
楼上正解,应用el的时候还要注意每个‘.’操作之前的对象不能为null,否则抛异常
------解决方案--------------------
好深的逻辑!
------解决方案--------------------
好像搞错了,没看到set了,set的话不能用‘.’操作直接取里面的对象的,不能用一句el写,还得加上 <% %> 的结构来取set中的对象
------解决方案--------------------
<c:forEach var= "element " items= "${list.userRoles} " >
<c:out value= "${element.id.role.roleName} "/>
</c:forEach>

试试这句,不知道行不行
------解决方案--------------------
试一试这个:
<c:forEach var= "user " items= "${list} " >
<c:forEach var= "userRole " items= "${user} " >
<c:out var= "rolenName " value= "userRole.id.role.roleName "/>
</c:forEach>
</c:forEach>
------解决方案--------------------
<c:forEach var= "user " items= "${list} " >
<c:forEach var= "userRole " items= "${user} " >
<c:out var= "rolenName " value= "userRole.id.role.roleName "/>
</c:forEach>
</c:forEach>