怎样遍历list集合的问题?
user 与role 是多对多关联 user 有set<role> roles = new HashSet<role>()这个属性
当查询并展现用户信息时,要显示用户所拥有的roles 集合;代码如下:
Action中:
List<User> userList = userDao.findAll();
ActionContext.getContext().put("userList",userList);
jsp页面
<s:itroater value="#userList" var ="user">
${user.userName}
......这里怎样遍历roles中的值呢???才能显示role这个对象中的roleName值,这里有多个值....
</s:itroater>
------解决方案--------------------user里有 role 的话 一样的循环 。
------解决方案--------------------就跟你在后台写双循环N循环一样的方式
第二个循环value=user.roles
不过没用过你这种标签,平时都用的<c:forEach>
------解决方案--------------------LZ的意思是多个${user.userName}值连起来一起显示?
------解决方案--------------------
如果是这样你可以在后台处理好了,在拿到前台,也可以写个自定义EL表达式方法。
------解决方案--------------------嵌套循环会有性能问题出现,N的平方次查询
------解决方案--------------------都是一样的迭代好了。
------解决方案--------------------
set一样像list那样遍历就行啦
<c:forEach items="${userList}" var="user">
<c:forEach items="${user.roles}" var="item">
${item.columnName}
</c:forEach>
</c:forEach>
------解决方案--------------------噢~set<String>,是这种玩意么??
<c:forEach items="${user.roles}" var="item">
${item}
</c:forEach>
直接取值就行了