Spring MVC日期绑定返回空值
我在类中创建了一个时间戳成员,并将其存储在数据库中。当我尝试更新它的值时,它将变为null,但可以在UI中看到它的值 我使用init binder将字符串转换为日期,但它不起作用,请帮助我 CNTC.javaSpring MVC日期绑定返回空值,spring,date,spring-mvc,data-binding,Spring,Date,Spring Mvc,Data Binding,我在类中创建了一个时间戳成员,并将其存储在数据库中。当我尝试更新它的值时,它将变为null,但可以在UI中看到它的值 我使用init binder将字符串转换为日期,但它不起作用,请帮助我 CNTC.java import java.util.Date; import java.util.HashSet; import java.util.Set; import javax.persistence.Column; import javax.persist
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.springframework.format.annotation.DateTimeFormat;
/**
* Cntc generated by hbm2java
*/
@Entity
@Table(name = "cntc", catalog = "ecable")
public class Cntc implements java.io.Serializable {
private Integer cntcId;
private String mobNo;
private String altMobNo;
private String emailId;
private String crtId;
private Date crtTs;
private String updId;
@DateTimeFormat(pattern="yyyy-mm-dd HH:mm:ss.z")
private Date updTs;
private Set<Addr> addrs = new HashSet<Addr>(0);
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "CNTC_ID", unique = true, nullable = false)
public Integer getCntcId() {
return this.cntcId;
}
public void setCntcId(Integer cntcId) {
this.cntcId = cntcId;
}
@Column(name = "MOB_NO", nullable = false, length = 500)
public String getMobNo() {
return this.mobNo;
}
public void setMobNo(String mobNo) {
this.mobNo = mobNo;
}
@Column(name = "ALT_MOB_NO", nullable = false, length = 500)
public String getAltMobNo() {
return this.altMobNo;
}
public void setAltMobNo(String altMobNo) {
this.altMobNo = altMobNo;
}
@Column(name = "EMAIL_ID", nullable = false, length = 1000)
public String getEmailId() {
return this.emailId;
}
public void setEmailId(String emailId) {
this.emailId = emailId;
}
@Column(name = "CRT_ID", nullable = false, length = 200)
public String getCrtId() {
return this.crtId;
}
public void setCrtId(String crtId) {
this.crtId = crtId;
}
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "CRT_TS", nullable = false, length = 0)
public Date getCrtTs() {
return this.crtTs;
}
public void setCrtTs(Date crtTs) {
this.crtTs = crtTs;
}
@Column(name = "UPD_ID", length = 200)
public String getUpdId() {
return this.updId;
}
public void setUpdId(String updId) {
this.updId = updId;
}
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "UPD_TS", length = 0)
public Date getUpdTs() {
return this.updTs;
}
public void setUpdTs(Date updTs) {
this.updTs = updTs;
}
}
在UI中显示的日期
2015-02-11 08:35:18.0
这是我可以在UI中看到的日期格式,但当我尝试更新其在spring数据绑定对象中的值时变为null,请帮助我,提前感谢。您使用的格式是错误的,当您声明a时,您应该使用大写的
M
,所以应该是
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@DateTimeFormat还将字符串转换为日期,因此不需要initBinder,您应该删除它
请注意,模式必须适合请求中的日期格式,发布的模式适合例如以下格式“2010-07-04 00:00:00”
,我提到这一点是因为您的活页夹和@DateTimeFormat中的模式不同,您应该设置与请求参数格式对应的模式
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")