为什么我的OpenXava瞬态视图中的这个计算属性不起作用

时间:2012-12-28 17:56:57

标签: transient calculated-field openxava

首先,所有这个新线程与此相关: Updating certain view programmatically from a JMS listener class 现在,除了缺少服务器推送功能之外,我还有一个简单的计算属性的问题,我在同一个瞬态模块视图中。 这是我的瞬态视图的一个版本(我尝试了几种方法):

@View(members="Counter [counter], readItems")
public class TrackIt {

    @OneToMany
    @ReadOnly
    @OnSelectElementAction("TrackIt.checkSelectedReadItems")
    private Collection<ReadItem> readItems;

    public int getCounter() {
        return readItems!=null?readItems.size():0;
    }

    public Collection<ReadItem> getReadItems() {
        return readItems;
    }

    public void setReadItems(Collection<ReadItem> readItems) {
        this.readItems = readItems;
    }

}

因此,ReamItem是我通过JMS侦听器持久保存接收到的对象的实体。因此,当我使用简单的手动刷新视图时,我希望首先看到计算的计数器属性的结果,也希望在每次手动刷新之后看到,但是我没有得到任何有关此属性的值只是一个空白和Counter标签后的空白区域(顺便说一句,收集显示正常)。我尝试使用持久性管理器进入数据库并将计数器从ReadItem实体直接导入计算属性但不起作用,我也尝试使用默认值计算器,但它没有用。但最有趣的是我改变了getCounter()只返回一个像100这样的简单int,但它也不起作用。

因此,将此计算属性的任何提示转换为瞬态视图可能会很好。

提前致谢,

1 个答案:

答案 0 :(得分:0)

可能与填充视图的方式有关。请输入您正在使用的代码来填充视图。