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>し、最後に配置して閉じると、closeタグが削除されます。closeタグがないため、文字列が表示されます

愚かな文字列操作でimgタグを閉じるにはどうすればよいですか?

4

1 に答える 1

2

この方法を間違った方法で使用する可能性があると思います。

uを呼び出すと、html文字列を取得しますgetHTML()。この文字列をDOMにどのように追加しますか?

通常の方法は、次のようなものを呼び出すことです。

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

これにより、画像がドキュメントに追加されます。

アップデート

SafeHtmlBuild内でこの文字列を使用する場合は、文字列をラップする必要があります。

SafeHtmlBuilderは<から&gt;までespapeします および>から&lt; 画像をSafeHtmlUtils#fromTrustedStringでラップする必要があると思います。そうしないと、2回エスケープされるためです。

于 2013-01-23T18:20:39.517 に答える