Wicket模态窗口无法正常显示

时间:2011-02-07 16:54:18

标签: java wicket

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

我有一个扩展WebPage的网页,我添加了一个向Panel扩展的面板。页面和面板是分开编写的;也就是说,在panel.javapage.java中。现在,我在this Wicket Examples examplesource)的帮助下为面板添加了一个模态窗口。但是当页面呈现时,我看到 - 通过检查该页面的元素 - div wicket:id的“modal1”具有属性script="display: none"。我不知道该怎么办。任何信息都对我很有帮助。

还有一件事:是

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);
        }
    });

谢谢。

1 个答案:

答案 0 :(得分:0)

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