为了账号安全,请及时绑定邮箱和手机立即绑定

无法在Spring控制器中解析本地日期时间

无法在Spring控制器中解析本地日期时间

catspeake 2021-05-13 17:13:28
在我的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解决此问题。谢谢。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 156 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信