3

我想在模板中呈现源自 ClientBundle 的图像。但我得到的是:

<img="#">

我检查了数据源的内容,如果我将图像 (data:image/png;base64...) 复制到 {0} 中,它就可以工作。

如果我将它作为参数传递,为什么它不起作用?

DataResource inputCheckImage = MGWTStyle.getTheme().getMGWTClientBundle().inputCheckImage();
private static Template TEMLPATE = GWT.create(Template.class); 

public interface Template extends SafeHtmlTemplates
{
    @SafeHtmlTemplates.Template("<div><img src=\"{0}\"></div>")
    SafeHtml content(String image);
}

//@Override
public void render(SafeHtmlBuilder safeHtmlBuilder, Action model) {

    SafeUri url = inputCheckImage.getSafeUri();
    SafeHtml safeHtml = TEMLPATE.content(url.asString());
    safeHtmlBuilder.append(safeHtml);       
}
4

1 回答 1

3

使用 SafeUri 作为模板上的参数类型,否则该值将被清理并且 data: URI 被认为是不安全的。

于 2012-08-30T16:56:03.753 回答