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 に答える