我正在尝试将嵌套对象绑定到表单选择列表。这是一个简单的产品=> MediaSet关系。
我阅读了一些建议使用自定义Formatter类在选择列表值和类型之间进行转换的博文等。
但我无法弄清楚配置的工作原理。到目前为止,我一直在使用java配置类。
我有两个问题:
Formatter是否是正确的界面?我也读过有关转换器的内容,听起来好像我应该使用它。
如何使用java配置注册自定义格式化程序?
我的配置类看起来像:
@Configuration
@ComponentScan("com.mvc")
@EnableWebMvc
@EnableTransactionManagement
public class WebConfig extends WebMvcConfigurerAdapter {
....
@Bean
public ConversionService conversionService() {
DefaultFormattingConversionService bean = new DefaultFormattingConversionService();
bean.addFormatter(new ImageSetFormatter());
return bean;
}
...
}
答案 0 :(得分:0)
哦,没关系,我想出来,实际上非常容易,但我会在这里留下问题以防万一其他人正在寻找它。
超类中有一个方法可以注册它:
要注册客户格式化程序,只需将上面替换为:
public class WebConfig extends WebMvcConfigurerAdapter {
...
@Override
public void addFormatters(FormatterRegistry formatterRegistry) {
formatterRegistry.addFormatter(new ImageSetFormatter());
}
}