从模板中的数据源渲染图像

时间:2012-08-30 15:03:18

标签: gwt clientbundle

我想在模板中渲染一个源自ClientBundle的图像。 但我得到的是:

<img="#">

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

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

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);       
}

1 个答案:

答案 0 :(得分:3)

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