我的代码如下:
  <logic:iterate name="list" id="vest" property="student_score" indexId="index">
  <html:text name="list" property='<%="student_score["+index+"]"%>'  />
  </logic:iterate>
有这种方法可以很好的现实,即数据属性
但是提交的时候出现如下错误javax.servlet.ServletException: BeanUtils.populate
        org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
        org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
        org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:459)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause javax.servlet.ServletException: BeanUtils.populate如果界面使用:
 <html:text name="list" value='' property='student_score'  maxlength="8" size="8"  indexed="true"/>
这种方法可以提交页面显示的多行数据,
但是我初始化的时候需要放入一些数据,却无法得到,显示为
[Ljava.lang.String;@157b39f
如果加入value=''可以显示为空
但是程序给这个数组给值了阿我的想法是:
从程序里面放入一些值给数组
然后让用户修改这些数组的值,然后提交
之使用标签的方法,不想在jsp里面写其他的不正规做法
有没有高手指点一下,最好由例子,完整的
网上我也找了,那种使用AutoArrayList从新ArrayList写get的方法我也用过
不行

解决方案 »

  1.   

    <logic:iterate>标签外面肯定要加个form标签的,提交地址就是你的修改action
    主要问题就是批量修改,一种就是利用表单数组,你struts配置文件里面formbean定义一个java.lang.String[]数组接受
    或者提交之前把所有要修改的记录的各个属性,各自合并成一个字符串,然后到服务端拆解
    最后再通过循环更新
    记得要把你每条记录的主健传过去,更新或者删除的时候要用,可以在每条记录前加个复选框,值就为ID
      

  2.   

    <logic:iterate name="list" id="vest" property="student_score" indexId="index">
    <html:text name="list" property='<%="student_score["+index+"]"%>' />
    </logic:iterate>把 list放到session里吧,在jsp页面从session取,应该可以的
      

  3.   

    <html:text name="list" property='<%="student_score["+index+"]"%>' />
    可以得到数组里面的,但是不能修改,修改出现问题
    怎么放在session里面?
    使用
    session.setAttribute("list",m_Form)
    码?