当前位置: 代码迷 >> Java Web开发 >> 好手们看看struts 2迭代set出不来
  详细解决方案

好手们看看struts 2迭代set出不来

热度:45   发布时间:2016-04-16 22:05:12.0
高手们看看struts 2迭代set出不来

class BusinessCircle{
private Long circleId;
private User user;
private String theme;
private BusCircleType busCircleType;
private Set<Post> posts = new HashSet<Post>(0);
set...
get..
}


页面迭代
<s:iterator value="pagebean.list" id="id" status="status">
theme:${id.theme} 有值
posts ${id.posts }有值

[com.evo.bpc.entity.Post@4fbd0e2e, com.evo.bpc.entity.Post@7433e83]

下面两个怎么迭代都出不来
<s:iterator value='<s:property value="%{#id.posts}" />' id="post_id" >
<s:property value='#post_id.commentCont' />
</s:iterator>


<s:iterator value='<s:property value="#id.posts" />' id="post_id" >
<s:property value='#post_id.commentCont' />
</s:iterator>

</s:iterator >
大侠帮看看怎么回事。
------解决方案--------------------
没见过你这种写法,只要确保你的数据在ActionContext中,然后直接#取就行了啊。
比如这样:
ActionContext.getContext().put("posts",posts);
<s:iterator value='#posts' id="post_id" >

iterator的value必须要能解析为一个可迭代对象。
------解决方案--------------------
struts2标签好像不能嵌套调用吧?好久没用了
改为这样试试呢
<s:iterator value="%{#id.posts}"  id="post_id" >
<s:property value='#post_id.commentCont' />
</s:iterator>
  相关解决方案