我创建了一个像这样的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模型对象不应该每次都是同一个实例吗?
答案 0 :(得分:0)
您的模型和包含的MyObject与页面一起序列化。因此,identityHasCode会发生变化,逻辑上它仍然是同一个对象。
答案 1 :(得分:0)
谢谢。通过使用Panel而不是modalWindow,这种情况不再发生了。