Помогите пожалуйста разобраться с передачей даты из страницы jsp в базу данных.
Хотелось бы чтобы дату можно было выбирать и потом отправлять в базу. Использовал
<input type="date" name="birthDate">
В базе данных колонка birthDate имеет тип date. При отправке других значений они все записываются в базу, но когда ввожу дату, то выдает ошибку.
Запрос, отправленный клиентом был синтаксически некорректным.
Код страницы jsp
<%@ page language="java" contentType="text/html" pageEncoding="utf8"%>
<!DOCTYPE html>
<html lang="ru">
<body>
<form action="${pageContext.servletContext.contextPath}/addclient" method="post">
<table >
<th><input type="text" name="surname" placeholder="Фамилия" ></th>
<th><input type="text" name="name" placeholder="Имя" ></th>
<th><input type="text" name="patronymic" placeholder="Отчество" required></th>
<th><input type="date" name="birthDate" ></th>
</table>
<input type="submit" value="Создать">
</div>
</form>
</body>
</html>
Код класса Client
@Entity
@Table(name = "client")
public class Client {
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Basic
@Column(name = "surname")
private String surname;
@Basic
@Column(name = "name")
private String name;
@Basic
@Column(name = "patronymic")
private String patronymic;
@Basic
@Column(name = "birthDate")
private Date birthDate;
public Client() { }
Контроллер
@Controller
public class ClientController {
@Autowired
private ClientService clientService;
@RequestMapping(value = "/addclient", method = RequestMethod.POST)
public String addClient(@ModelAttribute Client client) {
clientService.addClient(client);
return "redirect:/client";
}
}
Дао класс
@Repository
public class ClientDaoImpl implements ClientDao{
@Autowired
private SessionFactory sessionFactory;
public void addClient(Client client){
sessionFactory.getCurrentSession().save(client);
}
}