java - Wicket 模态窗口无法正确显示

标签 java wicket

我正在尝试为我的应用程序创建一个模式窗口,但不幸的是我无法这样做。

我有一个扩展 WebPage 的页面,并且添加了一个扩展 Panel 的面板。页面和面板分开书写;即在 panel.javapage.java 中。现在,我在this Wicket Examples example的帮助下向面板添加了一个模式窗口。 (source)。但是,当页面呈现时,通过检查该页面的元素,我发现 divwicket:id 为“modal1”,具有属性 script="显示:无”。我不知道该怎么办。任何信息都会对我很有帮助。

还有一件事:是

return new ModalContent1Page(ModalWindowPage.this.getPageReference(), modal1);

return new ModalContent1Page(ModalWindowPage.this, modal1);

一样吗?


编辑:
问题已经解决了。事实上,当我问这个问题时,我当时并没有代码。我正在遵循RoseIndia的教程,但我没有成功,因为我使用的是 wicket 1.3.1,所以 PageReference 类在那里不可用。所以我解决它:

    final ModalWindow modalWindow;
    add(modalWindow = new ModalWindow("modalVideo"));

    modalWindow.setCookieName("modal-video");
    modalWindow.setCssClassName(ModalWindow.CSS_CLASS_GRAY);
    modalWindow.setResizable(false);
    modalWindow.setInitialHeight(215);
    modalWindow.setInitialWidth(215);
    modalWindow.setHeightUnit("px");        

    modalWindow.setPageCreator(new ModalWindow.PageCreator() {
        public Page createPage() {
            return new PlayVideo(ItemViewPanel.this.getPage(), modalWindow, itemId);
        }
    });

    AjaxLink showModalLink;
    add(showModalLink = new AjaxLink("showModal") {
        @Override
        public void onClick(AjaxRequestTarget target) {
                    modalWindow.show(target);
        }
    });

谢谢。

最佳答案

回答你的第二个问题:不,这两行代码不一样。 ModalWindowPage.this 是页面本身,因此其类型为 ModalWindowPage。另一方面,getPageReference() 返回一个 PageReference,它不在同一层次结构中。

关于java - Wicket 模态窗口无法正确显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4923976/

相关文章:

jsp - Wicket 和 JSP

spring - 我应该为 Tomcat/Wicket/Hibernate 项目使用 Spring 还是 Guice?

jquery - 将 Wicket 面板内容显示为鼠标悬停在页面组件上时的工具提示

java - 捕获而不尝试错误

java - JPanel 对 MouseEvents 没有反应?

java - 将多个同名文件合并为一个文件

java - Wicket - 使用 AJAX 和 Wicket 模型更新 ListView

代码热部署和调度jar文件部署的Java框架

java - 添加 OncePerRequestFilter 后 swagger 未打开是 spring boot 应用程序

java - Wicket:从类变量名称获取 DropDownChoice 列表项名称