javaweb-SpringMVC下怎么使用List数据绑定?ajax传输应该怎么写?

问题描述

SpringMVC下怎么使用List数据绑定?ajax传输应该怎么写?
 public class Certificates {

    private List<Certificate> certsList = new ArrayList<Certificate>();

    public List<Certificate> getCertsList() {
        return certsList;
    }
    public void setCertsList(List<Certificate> certsList){
        this.certsList = certsList;
    }

}
 $.ajax({
                async : false,
                cache : false,
                type : "post",
                dataType : "json",
                dataType : "text",
                contentType : "application/json;charset=UTF-8",
                data : JSON.stringify($('#infoForm').serializeObject()),
                url : "insertExpert.htm",
                success : function(data) {

                    var d = $.parseJSON(data);
                    if (d.success) {
                        alert("注册信息成功!n请用注册的用户登陆系统,上传代码证附件!");
                    } else {
                        alert("注册失败!");
                    }
                }
            });

<tr id="table_zgzs_row">
                                    <td><input type="text" name="certsList[0].zgzsmc" id="certs[0].zgzsmc"
                                        style="width:100%;height:20px" />
                                    </td>
                                    <td><input type="text" name="certsList[0].zsbh00" id="certs[0].zsbh00"
                                        style="width:100%;height:20px" />
                                    </td>
                                    <td><input type="text" name="certsList[0].bfsj00" id="certs[0].bfsj00"
                                        style="width:100%;height:20px" />
                                    </td>
                                    <td><input type="text" name="certsList[0].bzjg00" id="certs[0].bzjg00"
                                        style="width:100%;height:20px" />
                                    </td>
                                </tr>

controller中收到的list数据是空- -,所以应该怎么写?

解决方案

List从哪传到哪?如果是从JSP中传到java中,要使用json

解决方案二:

dataType你写了两遍啊,建议把ajax语法先搞清楚,前端页面传数据到后台可以写data:{k,v}这样传参,后台获取getparam。也可以封装成对象去传递参数,希望能帮到你

解决方案三:

//将一个表单的数据返回成JSON对象

$.fn.serializeObject = function() {

var o = {};

var a = this.serializeArray();

$.each(a, function() {

if (o[this.name]) {

if (!o[this.name].push) {

o[this.name] = [ o[this.name] ];

}

o[this.name].push(this.value || '');

} else {

o[this.name] = this.value || '';

}

});

return o;

};

$(document).ready(

function() {

jQuery.ajax( {

type : 'GET',

contentType : 'application/json',

url : 'user/list',

dataType : 'json',

success : function(data) {

if (data && data.success == "true") {

$('#info').html("共" + data.total + "条数据。
");

$.each(data.data, function(i, item) {

$('#info').append(

"编号:" + item.id + ",姓名:" + item.username

+ ",年龄:" + item.age);

});

}

},

error : function() {

alert("error")

}

});

$("#submit").click(function() {

var jsonuserinfo = $.toJSON($('#form').serializeObject());

alert(jsonuserinfo);

jQuery.ajax( {

type : 'POST',

contentType : 'application/json',

url : 'user/add',

data : jsonuserinfo,

dataType : 'json',

success : function(data) {

alert("新增成功!");

},

error : function(data) {

alert("error")

}

});

});

});

@Controller
@RequestMapping("/user")
public class DemoController {
  private Logger logger = LoggerFactory.getLogger(DemoController.class);  

  @RequestMapping(value = "/list", method = RequestMethod.GET)
  @ResponseBody
  public Map<String, Object> getUserList() {
    logger.info("列表");
    List<UserModel> list = new ArrayList<UserModel>();
    UserModel um = new UserModel();
    um.setId("1");
    um.setUsername("sss");
    um.setAge(222);
    list.add(um);
    Map<String, Object> modelMap = new HashMap<String, Object>(3);
    modelMap.put("total", "1");
    modelMap.put("data", list);
    modelMap.put("success", "true");
    return modelMap;
  }  

  @RequestMapping(value = "/add", method = RequestMethod.POST)
  @ResponseBody
  public Map<String, String> addUser(@RequestBody UserModel model) {
    logger.info("新增");
    logger.info("捕获到前台传递过来的Model,名称为:" + model.getUsername());
    Map<String, String> map = new HashMap<String, String>(1);
    map.put("success", "true");
    return map;
  }
}

解决方案四:

还是看这里吧http://blog.csdn.net/yangtang_newton/article/details/7525800
代码传上去都乱了

时间: 2024-08-03 00:15:13

javaweb-SpringMVC下怎么使用List数据绑定?ajax传输应该怎么写?的相关文章

数据-在表单的table中的每一个单元格加入俩个下拉菜单,求大神指导怎么写,跪求~

问题描述 在表单的table中的每一个单元格加入俩个下拉菜单,求大神指导怎么写,跪求~ 在表单的table中的每一个单元格加入俩个下拉菜单,求大神指导怎么写?下面有初步的jsp代码.我用的是SSH框架.有一个下拉菜单的值是动态的,是别的表内的属性.怎么把一个单元格里的两个数据分别确定 <%@page contentType=""text/html; charset=UTF-8"" import=""java.util.*"&quo

Ajax传输中文乱码问题的解决办法_AJAX相关

AJAX简介 AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的编程语言,而是一种使用现有标准的新方法. AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下. ajax传输中文乱码问题描述: 我是在一个jsp页面有一个保存按钮,点击时会触发saveForm()的js函数,在saveForm()函数里经过校验后,会通过ajax发送数据请求,这样就不用通过提交表单来传输数据了,aj

JavaScript读二进制文件并用ajax传输二进制流的方法_javascript技巧

综合网上多个教程,加上自己实践得出的方法,目前能够兼容谷歌.IE11.IE10. htmlbody里的内容,没什么特殊的. <div id="dConfirm"> <p style="float: left;margin-left: 20px;margin-top: 20px"> <form action="javascript: uploadAndSubmit();" name="demoForm&quo

jquery+css3打造一款ajax分页插件(自写)_jquery

最近公司的项目将好多分页改成了ajax的前台分页 以前写的分页插件就不好用了,遂重写一个 支持IE6+,但没有动画效果 如果没有硬需求,个人认为没必要多写js让动画在这些浏览器中实现 css3的动画本来就是帮我们取代js中这部分动画代码的 使js更纯粹地去实现逻辑 效果图如下: 调用代码如下: 包括常用的加载失败重试,参数可配置是否能手动输入页码,设置按钮数目,可以调用多个page等等,调用代码很简便 <script type="text/javascript"> var

Ajax传输中文乱码问题的解决办法

AJAX简介 AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的编程语言,而是一种使用现有标准的新方法. AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下. ajax传输中文乱码问题描述: 我是在一个jsp页面有一个保存按钮,点击时会触发saveForm()的js函数,在saveForm()函数里经过校验后,会通过ajax发送数据请求,这样就不用通过提交表单来传输数据了,aj

在JS中用ajax判断登录如何写?

问题描述 在JS中用ajax判断登录如何写? 各位大神帮帮忙,这是我自己写得一个方法用的是HTML页面 public class login:System.Web.UI.Page { //private string pwd; //private int id; public LoginInFo loging() { LoginInFo lif = new LoginInFo(); lif.id = 1; lif.pwd = "123456"; lif.userName = "

windows编程-windows下udp通信,我想传输int型数据数组,而不是char字符数组,怎么传输啊?

问题描述 windows下udp通信,我想传输int型数据数组,而不是char字符数组,怎么传输啊? 似乎sendto函数和recvfrom函数在windows下只能传输char数据或数组,对于int数据或是其他类型数据或结构体都不能传输,这个问题怎么解决啊?我想传输int型数组啊.. ?linux下可是什么类型都能传输啊... 下面是发送函数sendto和接受函数recvfrom的定义: C++系统声明 int PASCAL FAR sendto ( IN SOCKET s, IN const

双系统-Win7下硬盘安装Debian,引导不成功,怎么写引导?

问题描述 Win7下硬盘安装Debian,引导不成功,怎么写引导? 简单说就是,安装好grub,然后提取bin文件,然后设置启动项. 我直接下载EasyBCD, 我是放在H盘(hd0,6)的, 请问是哪里出了问题? 谢谢 解决方案

java中什么情况下方法的参数可以省略数据类型而直接写数据?

问题描述 java中什么情况下方法的参数可以省略数据类型而直接写数据? 比如put(int 3); 什么情况下可以写put(3); 这里的put方法也没有方法体,什么情况下可以省略方法体呢 解决方案 put(int 3),有这种方式吗 put(int n)这种形式是方法的定义,当你使用put方法时,就直接传具体的值就行了 public int put(int n) { return n*10; } int m = put(10) 解决方案二: 对于你这种问法我是不解的,全局变量定义之后,局部变量