【发布时间】:2016-07-11 20:46:40
【问题描述】:
我的项目有问题。当我提交UserForm 以保存User 时,会出现以下错误:
无法将 java.lang.String 类型的属性值转换为必需的 输入 java.util.Date 作为属性birthDay;嵌套异常是 org.springframework.core.convert.ConversionFailedException: 失败 从 java.lang.String 类型转换为 java.util.Date 类型以获得值 2016-03-26;嵌套异常是 java.lang.IllegalArgumentException
这里是UserForm.jsp文件
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<html>
<head>
<title>Add New User</title>
</head>
<body>
<h2>Please Input User Information</h2>
<form:form method="POST" modelAttribute="User" action="/user/save">
<table>
<tr>
<td><form:label path="userName">UserName</form:label></td>
<td><form:input path="userName"/></td>
<td><form:errors path="userName" /></td>
</tr>
<tr>
<td><form:label path="passWord">Password</form:label></td>
<td><form:input path="passWord"/></td>
<td><form:errors path="passWord" /></td>
</tr>
<tr>
<td><form:label path="birthDay">Birthday</form:label></td>
<td><form:input path="birthDay" type = "date"/> </td>
<td><form:errors path="birthDay"/> </td>
</tr>
<tr>
<td><form:label path="age">Age</form:label>
<td><form:input path="age" type = "number"/> </td>
<td><form:errors path="age"></form:errors> </td>
</tr>
<tr>
<td><form:label path="gender">Gender</form:label></td>
<td><form:select path="gender">
<form:options items="${allgender}" itemLabel="gender"/>
</form:select></td>
<td><form:errors path="gender"></form:errors></td>
</tr>
<tr><td colspan="3"><input type="submit" value="Submit" /></td></tr>
</table>
</form:form>
</body>
</html>
这里是User.java文件
package edu.java.spring.service.user.model;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
@Entity
//@Table(name = "user",uniqueConstraints={@UniqueConstraint(columnNames="username")})
public class User {
// @Column(name = "gender", nullable = false)
// @Enumerated(EnumType.STRING)
public Gender getGender() {
return gender;
}
public void setGender(Gender gender) {
this.gender = gender;
}
// @Id
// @GeneratedValue(strategy = GenerationType.IDENTITY)
// @Column(name = "username", unique = true, nullable = false)
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
// @Column(name = "password", nullable = false)
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
// @Column(name = "birthday", nullable = false)
public Date getBirthDay() {
return birthDay;
}
public void setBirthDay(Date birthDay) {
this.birthDay = birthDay;
}
// @Column(name="age", nullable = false)
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
private String userName;
private String passWord;
private Date birthDay;
private Integer age;
private Gender gender;
}
【问题讨论】: