请问:Cannot create iterator for this collection 这个错误是怎么引起的?
我在用ssh做个bbs是出现这个问题;
我是要实现这样的功能:在这个action里面查找出一个主题贴的所以回帖的作者信息,然后存放在一个名字为replyer的List里面并返回到jsp 页面,该页面有回帖的连接,当没有回帖是正常显示,点击回帖连接并回帖后返回原页面也正常,当再回帖是就不行了:报错:Cannot create iterator for this collection !
action类部分源码如下:
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
Integer id=Integer.parseInt(request.getParameter("id"));
Topic t=sts.showTopic(id);
t.setTopicSnum(t.getTopicSnum()+1);
sts.update(t);
Userinfo author=sts.findbyId(t.getUserId());
//保存作者信息
request.setAttribute("author", author);
//保存帖子信息
request.setAttribute("t", t);
//保存回帖信息(List)
List rlist=srs.showReply(id);
request.setAttribute("rlist", rlist);
//保存回复者信息
List<Userinfo> replyer=new ArrayList<Userinfo>();
for(int i=0;i<rlist.size();i++){
int uid=((Reply)rlist.get(i)).getUserId();
Userinfo user=sts.findbyId(uid);
replyer.add(user);
}
request.setAttribute("replyer", replyer);
return mapping.findForward("show");
}
jsp部分代码如下:
<logic:present name="replyer">
<logic:iterate id="replyer" name="replyer">
<logic:equal value="${r.userId}" property="userId" name="replyer">
<b>${replyer.userNickname}</b><br><br>
帖子:${replyer.userNum }<br>
积分:${replyer.userIntegral}<br>
注册:${replyer.userRegtime}
</logic:equal>
</logic:iterate>
</logic:present>
当回复一次时可以正常显示,但再回帖就出这个错误。
各位高手,请帮小弟看看,先谢了!
------解决方案--------------------
<logic:iterate id="replyer" name="replyer" >
你就不能换个id么?