您正在尝试实现
ConversionService进行字符串和用户对象之间的转换。但是,这是
Converter实现的一部分。您想要做的是:
- 写一个转换器
- 向ConversionService注册该转换器
- 利用ConversionService。
您的转换器将类似于:
final class UserConverter implements Converter<String, User> { ... public User convert(String username) { return userService.find(username); }}
然后,您需要注册该转换器。您可以编写自己的ConversionServiceFactoryBean或覆盖默认值:
<bean id="conversionService" > <property name="converters"> <list> <bean /> </list> </property></bean>
如果您想像以前一样显式地使用ConversionService,请将其保留为可以自动连线的东西。Spring和该factorybean定义将处理其余的工作。
但是,如果您已经
<mvc:annotation-driven>在上下文中使用了标记,则可以使用其
conversion-service属性来引用ConversionServiceFactoryBean。然后,您根本不需要在类中包含InitBinder或ConversionService:只需将@RequestMapping的参数作为目标类型User,即可进行转换,而无需您干预。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)