• form表单传递对象数组


    在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

  • 相关阅读:
    Android Stuido无法下载jcenter库
    android studio的Gradle一直在sync的办法
    mysql dual表的用途及案例
    编码-解码
    循环神经网络RNN
    项目中遇到的chrome 浏览器跨域方案
    angular 不同组件间通过service传递数据
    angular -moment.js瘦身
    windows10电脑共享文件问题记录
    解决vue本地构建热更新卡顿的问题“75 advanced module optimization”解决方案
  • 原文地址:https://www.cnblogs.com/anruy/p/6856893.html
Copyright © 2020-2023  润新知