现在有多行记录,每行记录前有个复选框,要将选中的多行记录添加到数据库,该怎么做?

解决方案 »

  1.   

    struts2  可以把表单的一列控件设置同一个name(例如name=tempCheckState),这样就可以在action的属性(tempCheckState)里直接得到这列控件内的所有内容,以一个字符串的形式获得,字符串中以逗号分隔(tempCheckState=“1,2,3,4”)楼主可以把复选框选中的name设成一样就可以了  呵呵方法不一定好,但是应该可以解决楼主提的问题。但是前提是要用struts2
      

  2.   

    名字一样,你可以还设一个ID的值啊这样也可以根据ID得到这个控件,然后得到这个值的啊
    再判断是否checked
      

  3.   

    我说的就是输入框的值的解决办法,例如:你在点击checkbox选中的时候就把这个checkbox对应的输入框的name改为tempname;然后在点击checkbox不选中的时候把checkbox对应的输入框的name改为什么都行,只要不叫tempname就可以了,这样在action的属性里拿到的就是你选中的checkbox所对应的输入框的所有值,用逗号隔开;  是不是我昨天写的例子误导了楼主啊  tempname=“号不好,不好,这几针”;哈哈  不知道我这次说的是否明白。
      

  4.   

    做個判斷,check了的話點button就執行insert語句,
    后面的輸入框里面的內容當作參數傳到sql里面,
    我想你批量添加sql文總不會不一樣吧
      

  5.   

    借楼主的地儿问个问题
    5楼这样做,只添加的时候很好,但是checked = false时,是不是就不容易处理了阿?
    checked = true 时添加到sql
    checked = false 时怎么处理呢?再从sql中删除吗?
      

  6.   

    这个问题解决起来不难,你要把后面的值都传到数据库里去那么这些值在数据库里肯定对应一个主键,假设这个主键为ID。
    你把每个复选框的名字设为一样的。然后复选框的值为ID的值,这样在Servlet(或其他控制器)里就可以接到这一组值,再用个循环就可以插入了。
    主要代码如下:  <input type=checkbox name=mess value='<%=mvo.getId()%>' />   <--这里的mvo在java中对应数据库记录  的一个对象 -->
    在Servlet中用如下代码获取这组值
       String[] mids = request.getParameterValues("mess");
    然后用循环语句进行插入。
      

  7.   

    4楼说的意思,是不是在选中checkbox 的时候,把对应的input 的name属性改成想要的名字,如:firstName
    在后台就可以得到以这个名字命名的数组,如:String [] firstNames =request.getByName('firstName');
    不知道对否? 
      

  8.   

    如:String [] firstNames =request.getByName('firstName'); 这句写错了,应该是:
    String [] firstNames =request.getParameterValues('firstName');