我想在包含圖像的Wicket中創建模態窗口(org.apache.wicket.markup.html.image.Image)。由於檢票用戶指南(https://wicket.apache.org/guide/guide/ajax.html)中指出:如何在Wicket中顯示帶圖像的模態窗口
模式窗口的內容可以是另一種組分或一個 頁。
圖像滿足這個條件:
class Image extends WebComponent -> class WebComponent extends Component
我用標籤(org.apache.wicket.markup.html.basic.Label)嘗試過了,它的工作。當我用Image做的時候,我得到了異常。這是我的Java和HTML代碼(logo.png是在同一個包的.java和.html):
的Java
// Modal window with Image
final ModalWindow mwImage = new ModalWindow("modalWindowWithImage");
PackageResourceReference imgRef = new PackageResourceReference(this.getClass(), "logo.png");
Image img = new Image(mwImage.getContentId(), imgRef);
mwImage.setContent(img);
add(mwImage);
add(new AjaxLink("imageLink") {
@Override
public void onClick(AjaxRequestTarget target) {
mwImage.show(target);
}
});
HTML
<a href="#" wicket:id="imageLink">image link</a>
<div wicket:id="modalWindowWithImage"></div>
意外的RuntimeException
Last cause: Component [content] (path = [30:modalWindowWithImage:content]) must be applied to a tag of type [img], not: '<div wicket:id="content">' (line 0, column 0)
這裏產生的HTML代碼:
<a href="javascript:;" wicket:id="imageLink" id="imageLink22">image link</a>
<div wicket:id="modalWindowWithImage" id="modalWindowWithImage25" style="display:none"><wicket:panel xmlns:wicket="http://wicket.apache.org">
<div id="content26" style="display:none"></div>
</wicket:panel></div>
例外描述是不言自明的:<img>標記丟失,但我找不到方法如何解決它並顯示與圖像模態窗口。我正在使用wicket.version 6.17.0。先謝謝你。
謝謝,它有幫助。 – vitfo 2014-10-02 14:49:36