Hi,
in einer Wicket-Komponente erzeuge ich ein modales Fenster(ModalWindow). In diesem Fenster erzeuge ich ein Panel, dem ich eine Referenz auf eine Klassenvariable übergebe. Die Referenze wird im Fenster geändert. In der Wicket Komponente erstelle ich weiterhin einen Callback für das ModalWindow in dem ich die übergebene Referenz speichern möchte.
Nun habe ich das merkwürdige Problem dass die an das Fenster übergebene Referenz und die der Komponente nicht identisch sind. Wahrscheinlich wird die übergebene Referenz serializiert und deserializiert. Wie kann ich das verhindern ?
in einer Wicket-Komponente erzeuge ich ein modales Fenster(ModalWindow). In diesem Fenster erzeuge ich ein Panel, dem ich eine Referenz auf eine Klassenvariable übergebe. Die Referenze wird im Fenster geändert. In der Wicket Komponente erstelle ich weiterhin einen Callback für das ModalWindow in dem ich die übergebene Referenz speichern möchte.
Nun habe ich das merkwürdige Problem dass die an das Fenster übergebene Referenz und die der Komponente nicht identisch sind. Wahrscheinlich wird die übergebene Referenz serializiert und deserializiert. Wie kann ich das verhindern ?
Java:
AjaxLink<Void> ajaxButton = new AjaxLink<Void>(){
onClick(AjaxRequestTarget target){
MyEntity myEntity = ...;
showModal(target,entity);
}
}
public void showModal(AjaxRequestTarget target,MyEntity myEntity){
WindowClosedCallback windowClosedCallback = new WindowClosedCallback() {
private static final long serialVersionUID = 1L;
public void onClose(AjaxRequestTarget target) {
// this reference
myEntity.save();
MyEnclosingPanel.this.refresh(target);
setResponsePage(MyEnclosingPanel.this.getPage());
}
};
Panel panel = new MyPanel(myEntity)
ModalWindow modalWindow = new ModalWindow();
modalWindow.setWindowClosedCallback(windowClosedCallback);
modalWindow.show(panel, target);
}