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 回答