java - 带有 map 的 BeanUtils

标签 java map javabeans apache-commons-beanutils

如何将 BeanUtils setProperty 方法与 map 一起使用。

例如这个方法: public void setAddress(String type, Address 地址); 可以使用以下方式设置: BeanUtils.setProperty(beanObject, "地址(家)", addressObject );

但是如果我要设置的对象是一个Map,有可能吗?怎么办?

最佳答案

使用Map语法foo(bar)(bar是map foo的key):

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=bar}

关于java - 带有 map 的 BeanUtils,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1330467/

相关文章:

scala - Scala-如何从Tuple2s的集合构建一个不变的 map ?

java - 如何使用 Java Reflection 设置不同数字类型的数字字段

java - GUI 未动态更新

java - JSON 查询不更新 TextView

Vim:解决特定缓冲区中键映射的歧义以避免超时

java - 在 servlet 之间共享上传的文件

html - 在 Facelet 文件中使用 HTML 代码打印 java 变量

java - 如何防止 Escape 键关闭 JFace 对话框

java - 添加不同位置的圆圈

grails - 如何间接引用 grails GSP 模型变量,例如通过 .get(...)