具体的例子是为 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/