1

次のような Wicket モデルを作成しました。

IModel<MyObject> myModel = new Model<MyObject>(new MyObject());

問題をデバッグするために、次のスニペットを作成しました。

modalWindow.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
            public void onClose(AjaxRequestTarget target) {
            System.out.println(myModel.getObject());
            }
        });

これにより、onClose が呼び出されるたびに異なるオブジェクト インスタンスが出力されます。誰かが私になぜこれが起こるのか説明してもらえますか? これは正しい動作ですか?myModel モデル オブジェクトは毎回同じインスタンスであるべきではありませんか?

4

2 に答える 2

0

モデルとそれを含む MyObject は、ページと共にシリアル化されます。したがって、identityHasCode は変更されますが、論理的には同じオブジェクトのままです。

于 2013-10-24T08:28:35.563 に答える
0

ありがとうございました。代わりに modalWindow 内で Panel を使用することにより、これはもう発生しません。

于 2013-10-24T11:50:12.453 に答える