SpringMVC преобразование параметров запроса
Я могу использовать редакторы свойств в 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
неверный синтаксис
1 ответ
Взгляните на org.springframework.beans.propertyeditors.CustomCollectionEditor