gpt4 book ai didi

wicket - 如何在 Wicket 中显示带有图像的模态窗口

转载 作者:行者123 更新时间:2023-12-01 23:51:40 24 4
gpt4 key购买 nike

我正在尝试在 Wicket 中创建包含图像 (org.apache.wicket.markup.html.image.Image) 的模态窗口。正如 Wicket 用户指南 ( https://wicket.apache.org/guide/guide/ajax.html ) 中所述:

The content of a modal window can be either another component or a page.

图片满足这个条件:

class Image extends WebComponent -> class WebComponent extends Component

我用 Label (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>

意外的运行时异常

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>

异常描述是不言自明的: 标签丢失,但我找不到如何解决它并显示带图像的模态窗口的方法。我正在使用 wicket.version 6.17.0。提前谢谢你。

最佳答案

您只能将图像添加到 <img> 类型的 html 标签中.您正在尝试将其添加到 <div> .就像你只能添加一个链接到<a> html标签。您在这里可以做的最好的事情是用图像创建一个面板并将其添加到您的模态窗口

public class ImgPanel extends Panel {

public ImgPanel(PackageResourceReference imgRef) {
add(new Image("imgid", imgRef));
}
}

用 html

<html><body>
<wicket:panel>
<img wicket:id="imgid" ... />
</wicket:panel>
</body></html>

现在将此面板添加到您的模态窗口。

关于wicket - 如何在 Wicket 中显示带有图像的模态窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26162574/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com