我有一个面板,应该使用对话框模块中的数据进行更新。在面板构造函数中,我有一个数据模型,它应该填充面板中的组件。
面板构造函数如下所示:
public MyPanel(String id, final MyDataMOdel aDataModel) {
super(id);
....
}
该面板在我的页面中添加为:
MyDataModel myDataModel = new MyDataModel();
MyPanel myPanel = new MyPanel("myPanel", myDataModel);
在打开对话框setWindowClosedCallback
方法中,我有更新的DataModel
myModal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback()
{
private static final long serialVersionUID = -1746088901018629567L;
public void onClose(AjaxRequestTarget target)
{
update myDataModel here
Got the updated datamodel here (I can see that it is updated)
target.add(myPanel)
....
这样,我就看不到面板中的组件已更新。
最佳答案
不确定您的 MyDataModel()
是什么。但您可以使用共享 Wicket 口模型。
Model<YourDataObjectToShare> dataObjectToSHare = new Model<YourDataObjectToShare>()
{
private static final long serialVersionUID = -6394439155356911110L;
@Override
public YourDataObjectToShare getObject()
{
return ... The Updated Shared data here
}
};
然后将dataObjectToSHAre
传递给面板参数
看this
关于java - 使用对话框模式更新 Wicket 面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15922288/