日期:2014-05-17  浏览次数:20641 次

SSH怎批量提交数据
就是,多行数据同时提交,插入数据库,怎写呢?麻烦写一下例子,谢谢了

------解决方案--------------------
写在循环里面
------解决方案--------------------
form表单提交,action获取!
------解决方案--------------------
一个道理 循然后插入。。
------解决方案--------------------
你只要能在后台获取到了数据,那么就只需要在sava的时候加个循环,
在sava之前一定要把事物先开启了。
你的问题是前台到后台的传递,还是保存呢
------解决方案--------------------
批量操作
JSP代码如下
<body>
    <s:form action="student!update2" theme="simple">
     <s:iterator value="stus" status="s">
     <s:hidden name="stus[%{#s.index}].id"></s:hidden>
    姓名: <s:textfield name="stus[%{#s.index}].name"></s:textfield>
    性别: <s:textfield name="stus[%{#s.index}].sex"></s:textfield>
    <hr>
     </s:iterator> 
    <s:submit></s:submit>
    </s:form>

Action代码如下 下面属性要get() Set()
private List<Student>  stus;
private Integer [] ids;//要删除id
StudentDAO sd=new StudentDAO();  

public String update2(){
//标志做法  是 先查询 然后再修改  (Hibernate推荐) 
for (Iterator iterator = stus.iterator(); iterator.hasNext();) {
Student s = (Student) iterator.next();
//查询出来 是持久太
Student stu=sd.get(s.getId());
stu.setName(s.getName());
stu.setSex(s.getSex());
//没有调用update  因为不需要调用update 因为session
//没有关闭 ..stu 是刚查询出来的 刚查询出来的是持久状态
sd.commit();
}
return SUCCESS;  

Dao层如下
//根据id 查询
public Student get(int id){
Session session=HibernateSessionFactory.getSession();
return (Student)session.get(Student.class, id);
}