使用with()子句RequestFactory GWT获取对象

时间:2012-11-13 18:09:31

标签: gwt requestfactory

您好我刚刚为我的GWT项目设置了RequestFactory。它工作得很好,但我无法获得对象的对象字段 我有一个BuslineProxy和一个总线代理

buslineContext.findAll().with("buses").fire(new Receiver<List<BuslineProxy>>() {

    @Override
    public void onSuccess(List<BuslineProxy> response) {

        String requestedData="";
        for (BuslineProxy busline : response)
        {
            requestedData+="Busline " +busline.getName() +" with id " + busline.getId()+"\n";
            for(BusProxy bus : busline.getBuses())
            {
                requestedData+=bus.getId()+"\n";
            }
        }
        Window.alert(requestedData);
    }
});

我的服务器对象总线有一个名为bus的List字段。我想我只需要在with子句中放入我想要访问的字段。 它不起作用,我只获得所有的公交线路,但他们的公交车列表是空的。 谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

当GWT序列化对象时,您确定服务器上的BUS不是空的吗?

您可以在获取总线时检查是否正确获取了总线,如果数据不在此处,GWT将不会自行执行数据库查询(除非您使用某些代理机制和OpenSessionInViewFilter,或类似的东西)。 / p>

答案 1 :(得分:0)

由于一个小错误,数据是空的,这是正确的。 但更大的问题是实体代理总线没有默认构造函数和静态findAll方法,即使它从未直接实例化。 构造函数为空,findAll方法返回null,但RequestFactory仍然需要它们!