2011-07-06 9 views
1

SpringMVCでプロパティエディタを使用して、リクエストパラメータのカスタム変換を行うことができます。例はSpringMVCリクエストパラメータ変換

public class Foo { 
    private val; 

    public Foo(String val) { 
     this.val = val; 
    }   
    public getVal() { 
     return val; 
    }  
} 

の下Fooのインスタンスへのリクエストパラメータを変換するためのIは、プロパティ・エディタ

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>。私の知る限りList<Foo>.class

答えて

0

org.springframeworkを見て有効な構文ではありませんので

public void registerCustomEditors(PropertyEditorRegistry reg) { 
    reg.registerCustomEditor(List<Foo>.class, new FooListPropertyEditor()); 
} 

を:私はすでに適切なプロパティエディタFooListPropertyEditorを書いていると仮定すると、私は私が使用して登録することができないと思います。 beans.propertyeditors.CustomCollectionEditor