【发布时间】:2018-11-30 01:11:03
【问题描述】:
我用的是spring boot 2
控制器部分
@PostMapping("template/new/samplings")
@ResponseBody
public SamplingsDto save(@ModelAttribute SamplingsDto samplings) {
return samplingsService.save(samplings);
}
我尝试保存表单
$("#samplingsForm").submit(function (e){
e.preventDefault();
var receptionDate = $("#samplingsReceptionDatePicker").data('daterangepicker').startDate.format('YYYY-MM-DD');
var buildDate = $("#samplingsBuildDatePicker").data('daterangepicker').startDate.format('YYYY-MM-DD');
var form = transForm.serialize('#samplingsForm');
form.receptionDate=receptionDate;
form.buildDate=buildDate;
form = JSON.stringify(form);
$.ajax({
type:"post",
url: "/template/new/samplings",
data: form,
contentType: "application/json",
dataType : "json",
success: function(data){
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
}
});
});
使用 chrome 请求有效载荷是
“{” "samplesId":"", "buildDate":"2018-06-20", "receptionDate":"2018-06-20", "productTypesId":"1", "productsId":"15", “}”
在服务器模型属性字段为空
编辑
public class SamplingsDto {
private Integer samplingsId;
private Integer productTypesId;
private Integer productsId;
private LocalDate receptionDate;
private LocalDate buildDate;
//get set
}
【问题讨论】:
-
你能分享
SamplingsDto和从chrome形成的curl请求->检查->网络->右键单击请求->复制为curl吗? -
另外,查看this 了解使用
@ModelAttribute注释的最佳用例。 -
您共享的SamplingsDto 是您的所有班级还是片段?
-
对,你需要提供setter,让spring为这些属性赋值。
-
只是一个片段..
标签: java ajax spring-mvc spring-boot