我<input type="date" ...>为 Spring Boot 应用程序创建了一个简单的表单。我想把它变成LocalDate控制器中的一个。我收到错误:
Fri Aug 17 15:32:01 CEST 2018
There was an unexpected error (type=Internal Server Error, status=500).
No primary or default constructor found for class java.time.LocalDate
这当然是正确的,但是 - 据我所知 - 应该无关紧要,因为根据文档:“[...]@DateTimeFormat注释应该适用java.time于 Java 8 和 Spring 4。”
控制器方法:
@PostMapping("/users")
public String register(String user, String pw, @DateTimeFormat(iso=DateTimeFormat.ISO.DATE) LocalDate beginning){
MyUser myUser = MyUser.create(user,pw);
MyUser.setEnabled(beginning);
repo.register(myUser);
return "redirect:/users/"+user;
}
HTML/百里香叶:
<form method="POST">
<div><label> Benutzername : <input type="text" name="user"/> </label></div>
<div><label> Passwort: <input type="password" name="password"/> </label></div>
<div><label> Freigeschaltet ab (optional): <input type="date" name="beginning"/> </label></div>
<div><input type="submit" value="Registrieren"/></div>
</form>
pom(摘录)
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.0.4.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
...
</dependencies>
<properties>
<java.version>1.8</java.version>
</properties>
相关分类