首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可变BasicDynaBean映射

可变BasicDynaBean映射
EN

Stack Overflow用户
提问于 2015-06-22 20:02:49
回答 1查看 221关注 0票数 1

正如我在邮件主题中提到的那样,我在BasicDynaBean中遇到了不可更改的地图问题。据我所知,这是这张地图的默认行为。我想做的就是从db中检索结果集,它将创建一个包含DynaBeans的列表。对于查看数据库表,一切正常,当我尝试编辑它时会出现问题,并得到以下异常:

代码语言:javascript
复制
Caused by: javax.el.PropertyNotWritableException
    at javax.el.MapELResolver.setValue(MapELResolver.java:267)
    at com.sun.faces.el.DemuxCompositeELResolver._setValue(DemuxCompositeELResolver.java:255)
    at com.sun.faces.el.DemuxCompositeELResolver.setValue(DemuxCompositeELResolver.java:281)
    at com.sun.el.parser.AstValue.setValue(AstValue.java:201)
    at com.sun.el.ValueExpressionImpl.setValue(ValueExpressionImpl.java:291)
    at com.sun.faces.facelets.el.TagValueExpression.setValue(TagValueExpression.java:131)
    ... 50 more

我想,这是因为豆瓣内的地图是不可变的。我认为一种选择是通过编辑BeanUtils库的源代码来改变地图的默认行为。另一方面,我认为这个库的实现者一定认为这个功能.下面是作为DynaBeans检索结果集的代码片段。

代码语言:javascript
复制
    String query = "SELECT * FROM test.a";

    Statement stmt = (Statement) con.createStatement();
    ResultSet rs = stmt.executeQuery(query);
    RowSetDynaClass rsdc = new RowSetDynaClass(rs);

    rs.close();
    stmt.close();
    dynaObjectList= rsdc.getRows();

我也尝试使用LazyDynaMap,编辑表很好,但是Map不允许我放置多个数据,因为键对于其他数据集并不是唯一的。因为密钥是属性名。

如果你能给我暗示的话,我将非常感激。提前谢谢。如果可能的话,我真的很期待看到答案。诚挚的问候。埃尔坎·卡恩利

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-29 13:32:29

默认情况下,BasicDynaBean有DynaBeans的可变映射。我创建了另一个LazyDynaMap不可变的映射,并解决了这个问题。希望这对其他人有帮助。

代码语言:javascript
复制
setDecoratedDynaObjectList(rsdc.getRows());
    Iterator<DynaBean> it=decoratedDynaObjectList.iterator();
    while(it.hasNext()){
        BasicDynaBean dynaBean = (BasicDynaBean) it.next();
        Map<String,Object> modifiableMap=new DynaBeanPropertyMapDecorator(dynaBean, false);
        DynaBean mutableDynaBean=new LazyDynaMap(modifiableMap);
        modifiableDynaObjectList.add(mutableDynaBean);
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30988804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档