0
    html = AbstractImagePrototype.create(RESOURCES.icon()).getHTML();

生成这样的字符串:

<img onload='this.__gwtLastUnhandledEvent="load";' src='http://localhost:8083/home/s/clear.cache.gif' style='width:16.0px;height:15.0px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAYAAADtc08vAAABUElEQVR42pWTv0oDQRDGBxt9CFv/gI2n+AgWVopvIZhGbG7vjivsFM3uJqWQTgQfIA+QTnwCq6ApQhQU/0ECEr/Z2QsrMdw58HG7O7/9dm5vjiiMuLFKysSUmA4l+hXPT5Ebd1yOmT8jtQeAetC4RD3HTiLP53DCSQC8QJeA9ik1SyKMeU1ynsMe3ktpfW+yqMwtqfoGzQrOMVPwvBeDtt/8SLldpLJghlkxabPBUNz0acFE0fp4luS+wIrBkA1G/p0OqWowKwYjNniWib2uXAGzYvCEizFNP/mAdstPByMsV90iyi7WMOl7kwE+W43y1sL05WGNc8wI26fMbBaux9B30Atd556YI5Ebd4P8gFRjJ+hCvYLF9wpdyGVfUaa3fpcXN5eRfAvAL3/iPe7oDrqBMspsJN039R8U3Wgf8DwjpbepZucrf1b/B567Sv4ZP34tDeOz81RuAAAAAElFTkSuQmCC) no-repeat 0px 0px;' border='0'>

但是,请注意 img 标签没有关闭。当我将其添加到 html 模板中,并尝试通过将其放在</img>末尾来关闭它时,关闭标签会被剥离。缺少关闭标签会导致它显示字符串

我怎样才能让它关闭带有 oa 傻字符串操作的 img 标签?

4

1 回答 1

2

我认为您可能会以错误的方式使用此方法。

如果你打电话,你会得到一个 html 字符串getHTML()。你如何将这个字符串添加到你的 DOM 中?

正常的方法是调用类似的东西:

FlowPanel fp = new FlowPanel();
fp.add(AbstractImagePrototype.create(RESOURCES.icon()));

这会将图像添加到文档中。

更新

如果你想在 SafeHtmlBuild 中使用这个字符串,你必须包装你的字符串。

SafeHtmlBuilder 将把 < 转为 > 和 > 到 < 我认为您将不得不用SafeHtmlUtils#fromTrustedString包装图像。因为否则它将被逃脱两次。

于 2013-01-23T18:20:39.517 回答