您好我刚刚为我的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子句中放入我想要访问的字段。 它不起作用,我只获得所有的公交线路,但他们的公交车列表是空的。 谢谢你的帮助。
答案 0 :(得分:1)
当GWT序列化对象时,您确定服务器上的BUS不是空的吗?
您可以在获取总线时检查是否正确获取了总线,如果数据不在此处,GWT将不会自行执行数据库查询(除非您使用某些代理机制和OpenSessionInViewFilter,或类似的东西)。 / p>
答案 1 :(得分:0)
由于一个小错误,数据是空的,这是正确的。 但更大的问题是实体代理总线没有默认构造函数和静态findAll方法,即使它从未直接实例化。 构造函数为空,findAll方法返回null,但RequestFactory仍然需要它们!