我可以使用SpringMVC中的属性编辑器来执行请求参数的自定义转换。例如,将请求参数转换为<{1}}下面的实例
Foo
我可以定义属性编辑器
public class Foo {
private val;
public Foo(String val) {
this.val = val;
}
public getVal() {
return val;
}
}
并注册它以执行从String到Foo的转换
public class FooPropertyEditor extends PropertyEditorSupport {
void setAsText(String paramValue) {
value = new Foo(paramValue);
}
public String getAsText() {
return ((Foo) value).getVal();
}
}
是否可以使用属性编辑器转换多值参数,例如
public class CustomEditorRegistrar implements PropertyEditorRegistrar {
public void registerCustomEditors(PropertyEditorRegistry reg) {
reg.registerCustomEditor(Foo.class, new FooPropertyEditor());
}
}
到foo=foo1&foo=foo2&foo=foo3
。假设我已经编写了一个合适的属性编辑器List<Foo>
,我认为我不能使用它来注册它:
FooListPropertyEditor
因为AFAIK public void registerCustomEditors(PropertyEditorRegistry reg) {
reg.registerCustomEditor(List<Foo>.class, new FooListPropertyEditor());
}
无效语法
答案 0 :(得分:0)
看看 org.springframework.beans.propertyeditors.CustomCollectionEditor