0

こんにちは、GWTプロジェクト用にRequestFactoryをセットアップしました。それはうまく機能しますが、BuslineProxyとBusProxyを持っているオブジェクトのオブジェクトフィールドを取得できません

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);
    }
});

My Server Object Buslineには、bussというリストフィールドがあります。アクセスしたいフィールドをwith句に入れるだけでよいと思いました。しかし、それは機能せず、私はすべてのバスラインを取得するだけですが、バスのリストは空です。助けてくれてありがとう。

4

2 に答える 2

1

GWTがオブジェクトをシリアル化しているときに、サーバーでバスが空になっていないことを確認しますか?

バスラインをフェッチするときにバスを正しくフェッチしているかどうかを確認できます。データがここにない場合、GWTはデータベースクエリ自体を実行しません(プロキシメカニズムやOpenSessionInViewFilterなどを使用している場合を除く)。

于 2012-11-13T18:20:00.323 に答える
0

Florentは、小さな間違いのためにデータが空であったことは正しかった。ただし、より大きな問題は、エンティティプロキシバスにデフォルトのコンストラクターと静的なfindAllメソッドがないことでしたが、直接インスタンス化されることはありませんでした。コンストラクターは空で、findAllメソッドはnullを返しますが、RequestFactoryはまだそれらを必要としています!

于 2012-11-15T21:57:17.713 に答える