0

您好,我刚刚为我的 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);
    }
});

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

4

2 回答 2

1

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

您可以在获取 Busline 时检查是否正确获取 Buses,如果数据不在这里,GWT 不会自行执行数据库查询(除非您使用一些代理机制和 OpenSessionInViewFilter 或类似的东西)。

于 2012-11-13T18:20:00.323 回答
0

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

于 2012-11-15T21:57:17.713 回答