我想在模板中渲染一个源自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);
}
答案 0 :(得分:3)
在模板上使用SafeUri作为参数类型,否则将清理该值并且数据:URI被视为不安全。