各位大虾,是这样的。
我想在页面一次性传输N(N<10)个学生对象进action里,action再传给dao添加到数据库。
学生对象有一些如学号、年龄、性别等属性。
------------------------------
勾选 |姓名 | 学号 | 年龄 | 性别   
------------------------------
     |  A  |01    |23    |男      <input type="text" name="list[0]".name> <input type="no" name="list[0].no">
------------------------------
     |  B  |02    |22    |女      <input type="text" name="list[1]".name> <input type="no" name="list[1].no">
------------------------------
                                  <input type="text" name="list[2]".name> <input type="no" name="list[2].no">
------------------------------
    ……
------------------------------
    …… 
------------------------------
问题是怎么写代码。
我试过用在action里定义一个集合来接受jsp里的每一个学生对象 list<Student> list;但是当第三行不填学生数据的时候,后台list集合里依然会实例化一个student对象(会报错)。怎么办?????

解决方案 »

  1.   


    Iterator iter<Student> =list.iterator();
    if(iter.hasNext()){
      Studuent stu =iter.next();
      if(stu.getXXX()==null||stu.getXXX()=="")
           iter.remove();
    }  
    然后你添加到数据库的时候不要添加那个list,添加这个iter<Student> 我估计你用的是addCollection(Collection)方法。
      

  2.   

    -----------------------------------
    你说的我用了,会报错。
    问题是一开始初始化list集合就报错了。可以留一个qq我们交流吗?我的1106093864,大家帮帮忙
      

  3.   

    初始化List报错?你list要new啊! 这个代码逻辑上应该没什么问题
      

  4.   

    List<Student> list = new ArrayList<Student>();
      

  5.   

    我试过用在action里定义一个集合来接受jsp里的每一个学生对象 list<Student> list;但是当第三行不填学生数据的时候,后台list集合里依然会实例化一个student对象(会报错)。怎么办?????     那就是你的值=null的时候会报错,判断一次不就好了。。
    没值就list.remove(i);
      

  6.   

    定义一个list<User> users
    在页面上 写成 users[0].name
    这样应该行吧 
    不过我没测试
      

  7.   

    恩。我的代码就是这个思维。把null的remove掉,但事实上在没有remove之前已经报错了。remove之后也可以进行插入!!
      

  8.   

    可以写一个xsl导入的功能吗,导入一个excel文件,在程序中接卸xsl文件,并判断是否符合数据格式,符合的话就循环执行sql语句,否则就提示用户……不过一帮情况下,有数据批量导出,批量删除等等,很少有用到批量添加或批量修改的……
      

  9.   

       public void saveAllCustomer(Customer[] customers){
           Session session = sessionFactory.openSession();
           Transaction tx = session.beginTransaction();
        Customer[] beans = new Customer[customers.length];
    for (int i = 0, len = customers.length; i < len; i++) {
    beans[i] = session.save(customers[i]);
    }tx.commit();
    session.close(); }
    Action中写 private Customer[] customers;试试
      
      

  10.   

    <input type="text" name=“customers”><input type="text" name=“customers”> 数组长度不可定
      具体我没试过 
      

  11.   

    谢谢了。我也自己解决了。用的是数组来接受jsp页面的值,然后再判断一下,存入list集合中。再插入数据库