标题:struts+jsp如何实现批量提交
只看楼主
小程序员
Rank: 2
等 级:论坛游民
帖 子:41
专家分:16
注 册:2010-3-8
结帖率:50%
已结贴  问题点数:0 回复次数:7 
struts+jsp如何实现批量提交
jsp中做一个form表单,一次提交十几个对象到action中。可是有问题。有谁会的教教我,我给你分,确实做过项目的懂的来。菜鸟懂一点的不要来打扰!!!
搜索更多相关主题的帖子: 表单 确实 action 如何 
2011-05-11 20:38
wzh545394622
Rank: 6Rank: 6
等 级:侠之大者
帖 子:60
专家分:410
注 册:2009-10-7
得分:17 
说具体一点,看一下form表单和action类。。。。
2011-05-11 22:05
zlk
Rank: 2
等 级:论坛游民
帖 子:9
专家分:17
注 册:2011-5-13
得分:17 
传多个Id到后台呗。后台执行批量的方法呗。
2011-05-13 11:44
wzh545394622
Rank: 6Rank: 6
等 级:侠之大者
帖 子:60
专家分:410
注 册:2009-10-7
得分:0 
在form表单用同一个名字呗,在action中用数组接收呗。。。
2011-05-13 19:11
小程序员
Rank: 2
等 级:论坛游民
帖 子:41
专家分:16
注 册:2010-3-8
得分:0 
回复 2楼 wzh545394622
jsp:
<form action="studentsave" method="post">
       <table border="1" bordercolor="#00FF00" cellpadding="0" cellspacing="0" align="center">
           <tr>
                <td>选中</td>
                <td>学号</td>
                <td>名字</td>
                <td>性别</td>
           </tr>
           <tr>
                <td><input type="checkbox" /></td>
                <td><input  type="text" name="list[0].no" /></td>
                <td><input type="text" name="list[0].name" /></td>
                <td>
                <select name="list[0].sex">
                    <option selected="selected">男</option>
                    <option>女</option>
                </select>
                </td>
            </tr>
            <tr>
                <td><input type="checkbox"  /></td>
                <td><input  type="text"  name="list[1].no" /></td>
                <td><input type="text" name="list[1].name"/></td>
                <td>
                <select name="list[1].sex">
                    <option selected="selected">男</option>
                    <option>女</option>
                </select>
                </td>
            </tr>
            <tr>
                <td><input type="checkbox"  /></td>
                <td><input  type="text" name="list[2].no"/></td>
                <td><input type="text"  name="list[2].name"/></td>
                <td>
                <select name="list[2].sex">
                    <option selected="selected">男</option>
                    <option>女</option>
                </select>
                </td>
            </tr>
            <tr>
            <td colspan="2" align="right"><input type="submit" value="提交"/></td>
            <td colspan="2" align="left"><input type="reset" value="重置" /></td>
            </tr>
            
       </table>
       </form>

action:
public class StudentAction extends ActionSupport {
    //用list集合接收前台的数据
    List<Student> list=null;
    //批量存储学生对象
    public String listsave(){
        //遍历判断是否为空,如果为空,删除该元素
        Iterator iter=list.iterator();
        while(iter.hasNext()){
            Student student=(Student)iter.next();
            if(student.getSno()==0){   
            iter.remove();
            }
         }
        StudentDao dao=new StudentDao();
        boolean isright=dao.saveManyStudent(list);
        if(isright){return SUCCESS;}
        return ERROR;
    }
   省略set、get方法
    }
----------------------------
前台有3行可填,即可输入三个学生信息,假如输入小于三个,后台报错。
2011-05-13 21:03
w123012306
Rank: 9Rank: 9Rank: 9
来 自:湖南
等 级:蜘蛛侠
威 望:4
帖 子:307
专家分:1180
注 册:2010-4-22
得分:17 
action后可以接路径!
收到的鲜花
  • 柏新星2011-05-16 21:25 送鲜花  1朵   附言:我很赞同

楼上,楼下的一定要幸福开心哦!
2011-05-15 09:18
小程序员
Rank: 2
等 级:论坛游民
帖 子:41
专家分:16
注 册:2010-3-8
得分:0 
4楼说出了答案,不过他没给出具体操作步骤,所以不给满分他。我分享一下具体步骤:
form action="studentsave" method="post">
       <table border="1" bordercolor="#00FF00" cellpadding="0" cellspacing="0" align="center">
           <tr>
                <td>选中</td>
                <td>学号</td>
                <td>名字</td>
                <td>性别</td>
           </tr>
           <tr>
                <td><input type="checkbox" name="select" /></td>     //所有checkbox的name值select。后台用String[] select接收所以select的值
                <td><input  type="text" name="no" /></td>           //同理名字,性别一栏的name的值统一用no、name
                <td><input type="text" name="name" /></td>
                <td>
                <select name="sex">
                    <option selected="selected">男</option>
                    <option>女</option>
                </select>
                </td>
            </tr>
            <tr>
                <td><input type="checkbox" name="selcet" /></td>
                <td><input  type="text"  name="no" /></td>
                <td><input type="text" name="name"/></td>
                <td>
                <select name="sex">
                    <option selected="selected">男</option>
                    <option>女</option>
                </select>
                </td>
            </tr>
              <tr>
            <td colspan="2" align="right"><input type="submit" value="提交"/></td>
            <td colspan="2" align="left"><input type="reset" value="重置" /></td>
            </tr>   
       </table>
       </form>
action关键代码
    String[] select;
    String[] no;
    String[] name;
    String[] sex;
    //批量存储对象
    public String listsave(){
        List<Student> list=new ArrayList<Student>();;
        for(int i=0;i<select.length;i++){
            if(!(select[i]=="")){   
            Student stu=new Student();
            stu.setSname(name[i]);
            stu.setSno(Integer.parseInt(no[i]));
            stu.setSsex(sex[i]);
            list.add(stu);
                        }
        }
          //此时,list就把学生对象接收到了。再把list存储进数据库
           }


2011-05-17 20:21
哈狄斯
Rank: 2
等 级:论坛游民
帖 子:45
专家分:16
注 册:2006-3-14
得分:0 
楼上的大神,我觉得//可以用boolean类型来接收select值,因为你checkbox 没有写value值(当然也没有必要写),所以用Boolean类型的值更为恰当~~~
2011-05-30 16:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-339523-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.406827 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved