前端发起请求,将表单Post到后台,表单对应的参数名应该为和后台的POJO属性名一致。
会员entity类
package com.bookstore.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
public class Vip {
private Integer vipId;
private String vipUsername;
private String vipPassword;
private String vipNickname;
private String vipGender;
private String vipImg;
private String vipPhone;
private String vipEmail;
private Date vipBirthday;
private Date vipCreateTime;
private Boolean vipStatus;
// setter and getter方法省略...
}
前端表单
第一种,直接表单发起请求。
<!-- name和POJO属性要一致 -->
<input type="text" id="L_username" name="vipUsername" />
前端请求
第二种,通过ajax发起请求。
$.ajax({
type: 'POST',
url: '/ajax/add/vip',
async: false,
dataType: 'json',
data: {
// data的属性名要和POJO属性名一致
vipUsername: data.field.vipUsername,
vipNickname: data.field.vipNickname,
vipPassword: data.field.vipPassword,
vipPhone: data.field.vipPhone,
vipEmail: data.field.vipEmail,
vipBirthday: vipBirthday
}
}).done(function (res) {
console.log(res);
});
});
问题解决
前台时间参数传递到后台需要将字符串转换成Date类型。
var vipBirthday = new Date(
Date.parse((data.field.vipBirthday).replace(/-g/, "/"))
);