首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Exception >

javax.servlet.ServletException: BeanUtils.populate,struts的ActionForm里有List,list对

2014-01-26 
我现在做的一个工程ActionForm里有List,list对应一个Bean。list的个数是变化的。例程序(实际工程理jsp页面有1

我现在做的一个工程
  ActionForm里有List,list对应一个Bean。list的个数是变化的。
  例程序(实际工程理jsp页面有10个textbox这里只是举例)
  JSP (Xx.jsp)
  <html:form action="/xxAction">
  <logic:iterate id="item" name="xxList">
  <html:text name="item" property="key" indexed="true" />
  <html:text name="item" property="val" indexed="true" />
  </logic:iterate>
  <html:submit>送信<html:submit>
  </html:form>
 
  ActionForm
  public class XxActionForm extends ActionForm {
  private ArrayList list = new ArrayList();
  public XxActionForm() {
  for (int i = 0; i < 30; i++) {
  Bean bean = new Bean();
  list.add(bean);
  }
 
  public void setItem(int index, Bean bean) {
  list.add(index, bean);
  }
  public Bean getItem(int index) {
  return (Bean)list.get(index);
  }
  }
  现在出错的地方就是当bean的个数从31变到比31小的数字的时候(例如31->30)就会出现
  javax.servlet.ServletException: BeanUtils.populate
  org.apache.struts.util.RequestUtils.populate(RequestUtils.java:497)
  org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:798)
  org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:205)
  org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
  org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
  javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
  javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
  的错误。
  我查了好久,觉得是ActionForm初始化的时候初始数值是30的问题。可是在Action里面new 一个ActionForm,这个初始化的ActionForm初始值设成像要的数比如29,但也同样会出错。谁给点意见

------解决方法--------------------------------------------------------
List 并不一定要ActionForm来组装。
 
  <html:text name="item" property="key" indexed="true" /> name和property怎么能放在一起呢?
 
 
------解决方法--------------------------------------------------------
只能取回String Array的数据,取不回list吧。BeanUtils也只封装到数组的程度。
------解决方法--------------------------------------------------------
我认为你的设计有问题啊
  一个数据库查询的struts大概有这些文件:
  View:
  dblist.jsp,
  dblistout.jsp
  Model:
  DblistForm
  Controller:
  DBlistAction
  然后是你的DAO and PO:         

热点排行