我正在尝试为我的应用程序创建一个模态窗口,但不幸的是我无法这样做。
我有一个扩展WebPage
的网页,我添加了一个向Panel
扩展的面板。页面和面板是分开编写的;也就是说,在panel.java
和page.java
中。现在,我在this Wicket Examples example(source)的帮助下为面板添加了一个模态窗口。但是当页面呈现时,我看到 - 通过检查该页面的元素 - div
wicket:id
的“modal1”具有属性script="display: none"
。我不知道该怎么办。任何信息都对我很有帮助。
还有一件事:是
return new ModalContent1Page(ModalWindowPage.this.getPageReference(), modal1);
和
return new ModalContent1Page(ModalWindowPage.this, modal1);
同样的?
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);
}
});
谢谢。
答案 0 :(得分:0)
回答你的第二个问题:不,这两行代码不一样。 ModalWindowPage.this
是页面本身,因此其类型为ModalWindowPage
。另一方面,getPageReference()
返回PageReference
,它不在同一层次结构中。