java - 使用对话框模式更新 Wicket 面板

标签 java wicket

我有一个面板,应该使用对话框模块中的数据进行更新。在面板构造函数中,我有一个数据模型,它应该填充面板中的组件。

面板构造函数如下所示:

      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/

相关文章:

java - 程序执行 POI、JAVA 时从 Excel 电子表格读取插入的数据

java - 从 wicket 面板类调用 javascript 或修改 css

java - Wicket:创建指向 PDF 文件的链接

html - 悬停时表格单元格边框更改

java - 为什么日期转换会返回不同的时间戳?

java - 无法@Override Java中的compareTo()方法

java - 如何确保该按钮已被选中?

java - 选择选项后无法创建输入文本框

maven - 创建 Wicket 快速入门 Maven

html - Apache wicket - 使用 http URL 作为 src 添加图像