3

Maps で BeanUtils setProperty メソッドを使用するにはどうすればよいですか。

たとえば、このメソッド: public void setAddress(String type, Address address); 以下を使用して設定できます: BeanUtils.setProperty(beanObject, "address(home)", addressObject );

しかし、設定したいオブジェクトがマップの場合、それは可能ですか? どうやって?

4

1 に答える 1

2

Map 構文を使用しますfoo(bar)(barはマップのキーですfoo)。

public static class Bean{
    private Map<String, String> data = new HashMap<String, String>();
    public Map<String, String> getData(){
        return data;
    }
    public void setData(final Map<String, String> data){
        this.data = data;
    }
}

public static void main(final String[] args) throws Exception{
    final Bean bean = new Bean();
    // assign the foo key of the data property to the value 'bar'
    BeanUtils.setProperty(bean, "data(foo)", "bar");
    System.out.println(bean.data);
}

出力:

{foo=バー}

于 2010-11-02T10:03:15.420 に答える