gpt4 book ai didi

java - WebDataBinder 自定义日期编辑器不起作用

转载 作者:行者123 更新时间:2023-11-30 08:33:45 24 4
gpt4 key购买 nike

我正在尝试在 spring 的 MVC WebDataBinder 中注册自定义日期编辑器,以使 spring 解析我的自定义日期格式(准确地说,它是 ISO 格式)。我通过实现 CustomWebBindingInitializer 取得了成功。

 public static class CustomWebBindingInitializer implements WebBindingInitializer {

@Override
public void initBinder(WebDataBinder webDataBinder, WebRequest webRequest) {
CustomDateEditor dateEditor = new CustomDateEditor(new ISODateFormat(), true);
webDataBinder.registerCustomEditor(Date.class, dateEditor);
}
}

Spring 正在使用我的编辑器并成功解析日期,但尽管如此,日期字段并未绑定(bind),我收到以下请求错误:

"org.springframework.validation.BindException",,"defaultMessage":"Failed to convert property value of type [java.lang.String] to required type [java.util.Date] for property 'from'; nested exception is java.lang.IllegalArgumentException: Could not parse date: Unparseable date: \"2016-08-01T10:35:04.126Z\""

注意事项:当我将默认的 spring 格式 MM/DD/YYYY 与 my custom editor 一起使用时,我得到了同样的错误,这意味着 spring 使用的是我的编辑器而不是默认的编辑器。

当我使用格式为 MM/DD/YYYY 的默认 spring 解析器时,一切正常并且日期被绑定(bind),这当然是显而易见的。

有人遇到同样的问题吗?

最佳答案

将格式添加到 registerCustomEditor 并尝试:

 SimpleDateFormat format = new SimpleDateFormat("Required format");
webDataBinder.registerCustomEditor(Date.class, dateEditor, new CustomDateEditor(format, true));

关于java - WebDataBinder 自定义日期编辑器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39270342/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com