Python 官方文档:入门教程 => 点击学习
目录参数为对象1、提交表单2、表单序列化,使用ajax提交3、也可以这样写4、如果结构复杂,使用@RequestBody5、传递数组springMVC接受复杂对象(对象数组)前端:后
var data = $("#addFORM").serialize();
$.ajax({
url : "addReportDo", //请求url
type : "POST", //请求类型 post|get
data : data,
dataType : "text", //返回数据的 类型 text|JSON|html--
success : function(result){ //回调函数 和 后台返回的 数据
alert(result);
}
});
var data = {
title: $("#title").val(),
note: $("#note").val()
};
需要引用jackson
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.5</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.5</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.5</version>
</dependency>
<!--Spring3.1开始的注解 HandlerAdapter -->
<bean class="org.springframework.WEB.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<!-- json转换器 -->
<property name="messageConverters">
<list>
<ref bean="mappingJackson2HttpMessageConverter" />
</list>
</property>
</bean>
<bean id="mappingJackson2HttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
<value>text/json;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
js写法
var Goods1 = {
goodsNumber: "001",
goodsName: "商品A"
}
var goods2 = {
goodsNumber: "002",
goodsName: "商品B"
}
var goodsList = [goods1,goods2];
var data = {
title: $("#title").val(),
note: $("#note").val(),
goodsList: goodsList
};
console.log(data);
$.ajax({
url : "addReportDo", //请求url
type : "POST", //请求类型 post|get
data : JSON.stringify(data),
contentType : "application/json",
dataType : "text", //返回数据的 类型 text|json|html--
success : function(result){ //回调函数 和 后台返回的 数据
alert(result);
}
});
注意ajax的两个属性,data属性变为JSON.stringify(data),增加contentType属性。
controller代码写法
@ResponseBody
@RequestMapping("addReportDo")
public String addReportDo(@RequestBody Report report){
System.out.println(report);
return "ok";
}
在参数前面加上@RequestBody即可。
js写法
var array = ["a","b","c"];
var data = {
array : array
};
console.log(data);
$.ajax({
url : "addReportDo", //请求url
type : "POST", //请求类型 post|get
data : data,
dataType : "text", //返回数据的 类型 text|json|html--
success : function(result){ //回调函数 和 后台返回的 数据
alert(result);
}
});
controller写法
@ResponseBody
@RequestMapping("addReportDo")
public String addReportDo(@RequestParam("array[]") String[] array){
System.out.println(Arrays.toString(array));
return "ok";
}
也可以用List接收
@ResponseBody
@RequestMapping("addReportDo")
public String addReportDo(@RequestParam("array[]") List<String> list){
System.out.println(list);
return "ok";
}
将请求头改为
contentType:"application/json;charset=UTF-8"
自定义一个对象,将参数封装进该对象中
@Data
public class CaseBodyEntity {
String token;
CaseBasicModel caseBasic;
String[] keyWords;
CaseInsurantAndProductModel[] caseInsurantAndProductModels;
CaseExperienceModel[] caseExperiences;
CaseAsseSSModel[] caseAssesses;
}
使用使用POST方式接受请求,@RequestBody接受请求参数,对象为自定义的接受对象
@apiOperation("添加或更新案例,后台")
@PostMapping("/addOrUpdateCase")
public JSONObject addOrUpdateCase(
@RequestBody CaseBodyEntity caseBodyEntity
) {
...
}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
--结束END--
本文标题: springmvc参数为对象,数组的操作
本文链接: https://www.lsjlt.com/news/133089.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0