在JSP页面开发中,我们常常会用到form表单做数据提交,由于以前一直只是使用 form表单提交单个对象,只要表单文本域的name值和接收的对象的属性名一致,那么传值就没有什么问题。不过,在前几天的开发任务中,遇到了需要批量 传递对象,也就是需要传递对象数组,在此做个总结。今天又遇到需要向后台传递数组,便一并写下来吧。

1、ajax传递普通数组
前台代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var deleteNum= [];//定义要传递的数组
deleteNum.push("1");
deleteNum.push("2");
deleteNum.push("3");//向数组中添加元素
 
$.ajax({
    type:"post",
    url:"deleteNum.do",
    data:{deleteNum:deleteNum},
    traditional: true,//必须指定为true
    success:function(data){
        if(data.success){
            deleteNum = [];
        }
    }
});

后台代码

1
2
3
4
5
public ActionResult deleteNum(String[] deleteNum){
     
    //这个时候已经得到了deleteNum数组值
    return Json(new {status=1});
}

form表单提交自定义对象数组

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<form id="form" name="form"  method="post">
  <table>
    <tr>
      <td><input type="text" name="user[0].name"/></td>
      <td><input type="text" name="user[0].password"/></td>
    </tr>
    <tr>
      <td><input type="text" name="user[1].name"/></td>
      <td><input type="text" name="user[1].password"/></td>
    </tr>
    <tr>
      <td><input type="text" name="user[2].name"/></td>
      <td><input type="text" name="user[2].password"/></td>
    </tr>
  </table>
</form>

之后在form表单提交给后台时,需要先定义一个对象,当然,别忘了定义User对象,属性为name,password,重点是下面这个用于接收form表单提交的对象数组,如果还有其他对象数组需要接收,那在这个类里面再定义相应的ArrayList属性即可。

/**
* 类型描述
* 表单列表对象 用于接收form表单提交的对象数组
* @since 2016-2-25
* @author 古时一轮月
*
*/
public class FormListObject {
private ArrayList<User> userlist;
public ArrayList<User> getUserlist() {
return userlist;
}
public void setUserlist(ArrayList<User> userlist) {
this.userlist= userlist;
}

定义好该对象之后,在controller层接收就可以了

1
2
3
public AjaxResult saveOrUpdateUser(FormListObject list){
    List<User> userlist = list.getUserlist(); //你会看到你想要的
}

转自:http://blog.csdn.net/u014252157/article/details/50751302

form表单传递对象数组的更多相关文章

  1. ajax传递数组、form表单提交对象数组

    在JSP页面开发中,我们常常会用到form表单做数据提交,由于以前一直只是使用form表单提交单个对象,只要表单文本域的name值和接收的对象的属性名一致,那么传值就没有什么问题.不过,在前几天的开发 ...

  2. form表单传递下拉框的Value和Text值,不适用Jquery传递

    同时获取下拉框的Value和Text值的解决办法:添加一个<input type="text" >文本框,用户选中一项后就将该项的value值给他 然后接受页面获取该文 ...

  3. select空间提交form表单传递参数

    如下, 到了 <form name="modelForm" action="/portal/defectinfo/toDefectPage?projectname= ...

  4. 参数传递的四种形式----- URL,超链接,js,form表单

    什么时候用GET,  查,删, 什么时候用POST,增,改  (特列:登陆用Post,因为不能让用户名和密码显示在URL上) 4种get传参方式 <html xmlns="http:/ ...

  5. ***四种参数传递的形式——URL,超链接,js,form表单

    什么时候用GET,  查,删 什么时候用POST,增,改  (特列:登陆用Post,因为不能让用户名和密码显示在URL上) 4种get传参方式 <html xmlns="http:// ...

  6. 第十七篇 JS验证form表单

    JS验证form表单   这节课做一个实际的,项目里会遇到的东西,例如登录页面,我们输入‘用户名’和‘密码’或者‘手机号’还有‘验证码’等等,它都会做一个前端验证,比如验证码,是6位有效数字组成,那么 ...

  7. js将form表单序列化[json字符串、数组、对象]

    1.序列化为字符串 $("#Form").serialize();//name=zhangsan&sex=1&age=20   2.序列化为数组 var formD ...

  8. Ajax(form表单文件上传、请求头之contentType、Ajax传递json数据、Ajax文件上传)

    form表单文件上传 上菜 file_put.html <form action="" method="post" enctype="multi ...

  9. form表单序列化为Jquery对象

    <form id="DailyFinancial" > @*class="form-inline"*@ <div class="fo ...

随机推荐

  1. An error occurred: No action handlers found - check JMeterHome and libraries

    An error occurred: No action handlers found - check JMeterHome and libraries Writing log file to: D: ...

  2. superset可视化不同算法的点击率

    1. 首先我们通过superset的SQL Editor来编辑语句,语句没有写完整 2. 得到的结果为: 3. 然后点击Visualize,如图所示: 4. 因为要在图中显示不同算法的点击率,需要把d ...

  3. ipod不识别命令

    root@mx6q:~# history 0 sync 1 reboot 2 cd /usr/app/ 3 ls 4 cd extend-sysfs/ 5 ls 6 cd etc/ 7 ls 8 cd ...

  4. CEF禁止右键菜单

    转载:http://www.cctry.com/thread-258549-1-1.html 转载:http://blog.sina.com.cn/s/blog_dad2c54101019cmo.ht ...

  5. 【Android】使用BaseAdapter实现复杂的ListView【转】

    本文转载自:http://blog.csdn.net/jueblog/article/details/11857281 步骤 使用BaseAdapter实现复杂的ListView的步骤: 1. 数据你 ...

  6. sql server timeout

    SqlConnection.ConnectionTimeout https://docs.microsoft.com/en-us/dotnet/api/system.data.sqlclient.sq ...

  7. Windows自带计算器快捷键

    今天乱翻的时候发现了这个东西,下面就是各个快捷键: (以下功能在计算器面板上均能找到) 按键 功能 F9 \(-/+\) R 1/x @ \(\sqrt{}\) Ctrl+Shift+D 清除历史记录 ...

  8. SDOI2011_染色

    SDOI_染色 背景:很早就想学习树链剖分,趁着最近有点自由安排的时间去学习一下,发现有个很重要的前置知识--线段树.(其实不一定是线段树,但是线段树应该是最常见的),和同学吐槽说树剖的剖和分都很死板 ...

  9. 与R纠缠的两件事——rownames和子集--转载

    与R语言纠缠了一个星期,从快速上手的暗暗得意,到之后某些细节的纠结烦躁,过山车式体验中,我逐渐才认识了真实的R语言. 期间遇到两个很烦恼的问题,一个是让人烦躁抓狂,另一个是无意发现的重大错误. 1.  ...

  10. MySQL查询in操作排序

    in操作排序 先说解决方案: select * from test where id in(3,1,5) order by field(id,3,1,5); 或许有人会注意过,但我以前真不知道 SQL ...