在我的Spring Boot应用程序中,我需要处理带有日期时间字段的表单并将其转换为LocalDateTimeJava。我指定了pattern "YYYY-MM-dd HH:mm",当我使用输入值提交表单时,它无法转换1990-01-01 10:10。这是表单对象:public class UserForm { @NotNull @DateTimeFormat(pattern = "YYYY-MM-dd HH:mm") private LocalDateTime dateTime; // getters, setters}控制器:@RequestMapping("/users")@Controllerpublic class UserController { @GetMapping("") public String userForm(UserForm userForm) { return "/users/form"; } @PostMapping("") public String postForm(@Valid UserForm userForm, BindingResult bindingResult) { System.out.println(userForm + " " + bindingResult); return "/users/form"; }}和胸腺嘧啶的形式:<form th:object="${userForm}" th:action="@{/users}" method="post"> <span th:each="err: ${#fields.errors('dateTime')}" th:text="${err}" style="background-color:red;color:white;"/> <input type="text" th:field="*{dateTime}"/> <input type="submit"></form>这个例子有什么问题?我应该如何修复它以使其正确解析String为LocalDateTime?我也在这里提交了示例应用程序。更新:在“转换失败”下,我的意思是我得到了例外:org.springframework.core.convert.ConversionFailedException:无法从类型[java.lang.String]转换为类型[@ javax.validation.constraints.NotNull @ org.springframework.format.annotation.DateTimeFormat java.time.LocalDateTime]价值1990-01-01 10:10使用小写字母可以yyyy解决此问题。谢谢。
添加回答
举报
0/150
提交
取消