struts logic:iterate使用时出现Cannot create iterator for this collection错误 userlistForm 集合是否有问题? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先用present再iter...参数是集合么? 在action里 request.setAttribute 了吗。最好加个判断 <logic:present......标签。参考一下这里:http://www.start666.com/一个小网站,给点支持了。 楼主logic标签的使用没弄明白,该标签的name属性需要指定一个集合对象,id属性值用来存储从该集合中遍历出来元素。可以查看“明日”编写的《Struts应用开发完全手册》书中对struts标签的介绍,比较详细。 他是说你遍例的这个集合不能遍例 这是UserlistForm: private Collection userlist; public Collection getUserlist() { return userlist; } public void setUserlist(Collection userlist) { this.userlist = userlist; } 把你属性private Collection userlist; 改为private Collection userlist = new Collection(); 若不是,你再看看你的作用域里到底有没有值啊,用<logic:notemptey 判断一下 用iterator标签前最好添加一个present标签,以免产生错误 可以详细说一下吗 这是 UserlistForm :public class UserlistForm extends ActionForm { private String totalpage; private Collection userlist; private String targetpage; private String currentpage; public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { return null; } public void reset(ActionMapping mapping, HttpServletRequest request) { // TODO Auto-generated method stub } public String getTotalpage() { return totalpage; } public void setTotalpage(String totalpage) { this.totalpage = totalpage; } public Collection getUserlist() { return userlist; } public void setUserlist(Collection userlist) { this.userlist = userlist; } public String getTargetpage() { return targetpage; } public void setTargetpage(String targetpage) { this.targetpage = targetpage; } public String getCurrentpage() { return currentpage; } public void setCurrentpage(String currentpage) { this.currentpage = currentpage; }} action是这样的: public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { UserlistForm userlistForm = (UserlistForm) form List userlist = null; userlistForm.setUserlist(userinfoService.getUserList("select userinfo.username as username,userinfo.password as password from userinfo userinfo")); request.getSession().setAttribute("userlistForm", userlistForm); request.setAttribute("ul", userlistForm.getUserlist()); return mapping.findForward("sucess"); } <logic:iterate id="userlist" name="userlistForm"> <bean:write name="userlist" property="username"/> <br> <bean:write name="userlist" property="password"/> <br> <bean:write name="userlist" property="email"/> <br> </logic:iterate>改成下面我这样:<logic:iterate id="userlist1" name="userlistForm" property="userlist"> <bean:write name="userlist1" property="username"/> <br> <bean:write name="userlist1" property="password"/> <br> <bean:write name="userlist1" property="email"/> <br> </logic:iterate>其中的userlist1可以随便取名。 数据量较大的表如何读取?分表加入内存么?? 基于淘宝的用户行为分析 js问题,动态生成表单?? 通过标记文件进行操作 急问,我想点击修改到另一个页面然后确定,怎么实现 Help..... me 请教struts的一个问题 JOptionPane在JSP中使用问题 关于Tomcat下加载Servlet的问题!!!!!急啊!!!! STRUTS的分页显示问题 struts logic:iterate标签的使用问题! 急救,把到当前系统时间的秒数在转换成时间怎么转
最好加个判断 <logic:present......标签。参考一下这里:http://www.start666.com/
一个小网站,给点支持了。
可以查看“明日”编写的《Struts应用开发完全手册》书中对struts标签的介绍,比较详细。
这是UserlistForm: private Collection userlist;
public Collection getUserlist() {
return userlist;
}
public void setUserlist(Collection userlist) {
this.userlist = userlist;
} 把你属性private Collection userlist; 改为private Collection userlist = new Collection();
若不是,你再看看你的作用域里到底有没有值啊,用<logic:notemptey 判断一下
public class UserlistForm extends ActionForm {
private String totalpage; private Collection userlist;
private String targetpage; private String currentpage;
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
return null;
}
public void reset(ActionMapping mapping, HttpServletRequest request) {
// TODO Auto-generated method stub
}
public String getTotalpage() {
return totalpage;
}
public void setTotalpage(String totalpage) {
this.totalpage = totalpage;
}
public Collection getUserlist() {
return userlist;
}
public void setUserlist(Collection userlist) {
this.userlist = userlist;
}
public String getTargetpage() {
return targetpage;
}
public void setTargetpage(String targetpage) {
this.targetpage = targetpage;
}
public String getCurrentpage() {
return currentpage;
}
public void setCurrentpage(String currentpage) {
this.currentpage = currentpage;
}
}
HttpServletRequest request, HttpServletResponse response) {
UserlistForm userlistForm = (UserlistForm) form
List userlist = null;
userlistForm.setUserlist(userinfoService.getUserList("select userinfo.username as username,userinfo.password as password from userinfo userinfo"));
request.getSession().setAttribute("userlistForm", userlistForm);
request.setAttribute("ul", userlistForm.getUserlist());
return mapping.findForward("sucess");
}
<bean:write name="userlist" property="username"/> <br>
<bean:write name="userlist" property="password"/> <br>
<bean:write name="userlist" property="email"/> <br>
</logic:iterate>
改成下面我这样:
<logic:iterate id="userlist1" name="userlistForm" property="userlist">
<bean:write name="userlist1" property="username"/> <br>
<bean:write name="userlist1" property="password"/> <br>
<bean:write name="userlist1" property="email"/> <br>
</logic:iterate>其中的userlist1可以随便取名。