Я могу использовать редакторы свойств в SpringMVC для выполнения пользовательского преобразования параметра запроса.Например, чтобы преобразовать параметр запроса в экземпляр Foo
ниже
public class Foo {
private val;
public Foo(String val) {
this.val = val;
}
public getVal() {
return val;
}
}
, я могу определить редактор свойств
public class FooPropertyEditor extends PropertyEditorSupport {
void setAsText(String paramValue) {
value = new Foo(paramValue);
}
public String getAsText() {
return ((Foo) value).getVal();
}
}
и зарегистрировать его для выполнения преобразования из строки вFoo
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
, я не думаю, что смогу зарегистрировать его, используя:
public void registerCustomEditors(PropertyEditorRegistry reg) {
reg.registerCustomEditor(List<Foo>.class, new FooListPropertyEditor());
}
Поскольку AFAIK List<Foo>.class
не является допустимым синтаксисом