SpringMVC将表单对象序列化成Json字符串提交,以List接收
来源:互联网 发布:网络借贷平台监管办法 编辑:程序博客网 时间:2024/05/16 10:16
HTML
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isELIgnored="false"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><c:set var="ctx" value="${pageContext.request.contextPath}"/><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head> <title>submitUserList_4</title> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <script language="JavaScript" src="${ctx }/js/jquery-3.1.1.min.js" ></script> <script language="JavaScript" src="${ctx }/js/parseJson.js" ></script> <script type="text/javascript" language="JavaScript"> //将表单序列化成json格式的数据(但不适用于含有控件的表单,例如复选框、多选的select) function submitUserList_4() {alert("ok"); var jsonStr = $("#form1"). serializeJson(); //console.log("jsonStr:\r\n" + jsonStr); //alert(jsonStr); $.ajax({ url : "${ctx}/test/getJsList", type : "POST", contentType : 'application/json;charset=utf-8', //设置请求头信息 dataType : "json", data : jsonStr, success : function(data) { alert(data); }, error : function(res) { alert(res.responseText); } }); } </script></head><body> <h1>submitUserList_4</h1> <form id="form1"> age:<input type="text" name="age" value="11"><br/> name:<input type="text" name="name" value="jack"><br/> sex:<input type="text" name="sex" value="男"><br/><br/> age:<input type="text" name="age" value="12"><br/> name:<input type="text" name="name" value="rose"><br/> sex:<input type="text" name="sex" value="女"><br/><br/> <input type="button" value="submit" onclick="submitUserList_4();"> </form></body></html>
JAVA
@RequestMapping(value = "/submitUserList_4", method ={RequestMethod.POST}) @ResponseBody public String submitUserList_4(@RequestBody List<User> users) throws Exception{ String result = ""; if(users == null || users.size() <= 0){ return "No any ID.中文"; } result = this.showUserList(users); return result;
启动SpringMVC的注解功能,完成请求和注解POJO的映射
<!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 --> <context:component-scan base-package="com.leon" /> <!--避免IE执行AJAX时,返回JSON出现下载文件 --> <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> </list> </property> </bean> <!-- 启动SpringMVC的注解功能,完成请求和注解POJO的映射 --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <ref bean="mappingJacksonHttpMessageConverter" /> <!-- JSON转换器 --> </list> </property> </bean>
POM
<!-- 映入JSON --> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.13</version> </dependency>
JS
$.fn.serializeJson = function(){ var jsonData1 = {}; var serializeArray = this.serializeArray(); // 先转换成{"id": ["12","14"], "name": ["aaa","bbb"], "pwd":["pwd1","pwd2"]}这种形式 $(serializeArray).each(function () { if (jsonData1[this.name]) { if ($.isArray(jsonData1[this.name])) { jsonData1[this.name].push(this.value); } else { jsonData1[this.name] = [jsonData1[this.name], this.value]; } } else { jsonData1[this.name] = this.value; } }); // 再转成[{"id": "12", "name": "aaa", "pwd":"pwd1"},{"id": "14", "name": "bb", "pwd":"pwd2"}]的形式 var vCount = 0; // 计算json内部的数组最大长度 for(var item in jsonData1){ var tmp = $.isArray(jsonData1[item]) ? jsonData1[item].length : 1; vCount = (tmp > vCount) ? tmp : vCount; } if(vCount > 1) { var jsonData2 = new Array(); for(var i = 0; i < vCount; i++){ var jsonObj = {}; for(var item in jsonData1) { jsonObj[item] = jsonData1[item][i]; } jsonData2.push(jsonObj); } return JSON.stringify(jsonData2); }else{ return "[" + JSON.stringify(jsonData1) + "]"; } };
2 0
- SpringMVC将表单对象序列化成Json字符串提交,以List接收
- javascript jquery将表单form序列化成json提交
- 4种方法让SpringMVC接收多个对象 List<user> 表单提交,以BeanListModel接收
- SpringMVC @RequestBody接收Json对象字符串并返回list以json格式
- JS将表单序列化成 json
- 以读取博客园随笔备份为例 将xml 序列化成json,再序列化成对象
- js对象序列化成json字符串
- SpringMVC接收json字符串转为List对象(数组对象)
- SpringMVC使用@ResponseBody注解来实现对象序列化成JSON字符串
- C#将Json字符串反序列化成List对象类集合
- 将form表单中的值序列化成对象
- 使用Struts 2将Java对象序列化成JSON
- 使用Struts 2将Java对象序列化成JSON
- object序列化成json字符串
- DataTable序列化成Json字符串
- 对象序列化成JSON格式
- 将XML序列化成对象
- SpringMVC form表单提交list对象集合
- SQL
- Node后端数据渲染
- 程序员的编程语言迁移路线:Go语言是最大赢家,Java 还在,Perl 灭亡了,Rust 做的相当不错。
- c++数据结构 单链表的实现
- JavaScript 函数调用
- SpringMVC将表单对象序列化成Json字符串提交,以List接收
- 从数据库、代码和服务器对PHP网站Mysql做性能优化
- JAVA开发之 5-常见错误的处理
- 最长公共子序列与最长公共子串
- maven install 程序包不存在
- Java面试题全集(下)
- Openstack安装前需要做的工作
- 1.6.ARM裸机第六部分-S5PV210的时钟系统
- 0509