有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Wicket 9和一个弹出窗口(非模态)

我有一个链接可以打开一个弹出窗口(不是模态窗口,而是一个小的浏览器窗口)

protected void onInitialize() {
    super.onInitialize();
    Link<Void> myLink = new Link<>("myLink") {
        @Override
        public void onClick() {
            setResponsePage(new MyPage((IModel<MyDto>) getDefaultModel()));
        }
    };
    myLink.setPopupSettings(new PopupSettings());
    myLink.getPopupSettings().setHeight(100).setHeight(100);
    Button button = new Button("button");
    myLink.add(button);
    add(myLink);
}

当我点击它时,一切正常(如预期)。但是在关闭弹出窗口之后 页面的其余部分将无法使用,即

如果在关闭弹出窗口后,我点击了一个按钮,或者如果我在ajaxTextField中键入了什么内容

我会遇到各种各样的错误,比如NoSuchMethod(在我的模型类中,我使用构造函数初始化, 所以没有二传手)。NullPointerExeption。。。等等

然而,如果在关闭一个模式窗口后,我刷新了页面,那么一切都会再次正常工作

我做错了什么?如何使关闭模式窗口后,所有按钮、文本字段、链接等都能按预期工作,而无需手动刷新显示弹出窗口的页面


共 (1) 个答案

  1. # 1 楼答案

    终于找到了。这些错误发生在哪里,因为我的一些模型 在哪里做了短暂的改变,即

    private transient final LoadableDetachableModel<Long> myModel;
    

    解决了一个问题