我使用Spring的转换服务,并有自己的转换器,它注册:
public class MyTypeConverter implements Converter<String, MyType> {
@Override
public Currency convert(String text) {
MyType object = new MyType();
// do some more work here...
return object;
}
}
现在,在我的应用程序可以从做转换String
到MyType
,而且运作良好:
@Autowired
private ConversionService cs;
public void doIt() {
MyType object = cs.convert("Value1", MyType.class);
}
但是,我也注意到,例如,我可以使用相同的转换器我的MVC控制器内,它并某种方式与列表工作太:
@RequestMapping(method = RequestMethod.GET, value = "...")
@ResponseBody
public final String doIt(@RequestParam("param1") List<MyType> objects) throws Exception {
// ....
}
所以,如果我提交param1=value1,value2
在控制器我接收List<MyType>
在它的两个元素。 所以弹簧不会分裂由逗号字符串,然后将每个元件分别转换成MyType
。 是否有可能做到这一点编程呢?
我需要类似这样的:
List<MyType> objects = cs.convert("Value1,Value2", List<MyType>.class);