java - 用于将多个请求参数转换为对象的 Spring 转换器或属性编辑器?

标签 java spring spring-mvc type-conversion

具体的例子是为 Date 对象的 (2011, 11, 24, 8, 10, AM) 请求参数实现 Convertor/PropertyEditor ?

假设我的 UI 使用一个小部件,该小部件使用 6 个 html 表单字段作为日历(2011、11、24、8、10、AM)——这非常不方便..

理想的解决方案是,如果参数只有一个 - “yyyy:MM:dd:hh:mm:aa”,@DateTimeFormat 注释在字段上并且 WebDataBinder 已设置为 DefaultConversionService + joda-time 已打开类路径。

但我必须保持外观并使用该小部件。在处理程序方法中进行这种转换也会使验证复杂化很多。知道如何在不打扰处理程序方法的情况下做到这一点吗?

最佳答案

如果您创建一个自定义包装器对象,其中包含每个输入参数的字段,public ... handlerMethod(InputDate date) 将填充它。然后,在同一个类中,您可以使用 toDateTime(),它将根据输入构造一个 DateTime

您还可以使用自定义 WebArgumentResolver 并在您的方法签名中使用自定义注释,例如 @InputDate

关于java - 用于将多个请求参数转换为对象的 Spring 转换器或属性编辑器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6726365/

相关文章:

java - 将数组送入线程

java - JMenuItem ImageIcon太大

java - Spring存储库中的@Query不更新行并且不出现错误

java - Spring MVC 项目中的 Hibernate Validator

java - 以编程方式修改 Spring bean

java - 安卓/Java : Set textview with char from index of string

java - 如何在 AppEngine 中使用 JPA 2 获取实体、在 GWT 中更新并保存?

java - 如果请求未使用 webClient 返回错误,我如何返回 Empty mono

java - 提供服务器中生成并存储在内存中的 zip 文件

java - Spring Boot 在无效的 If-Modified-Since 值上抛出异常