1

基于以下资源:

http://www.gwtproject.org/doc/latest/DevGuideClientBundle.html

使用 ClientBundle 图像作为背景图像

我已经<g:Image>在 UIBinder 模板中成功实现了 GWT 图像资源:

<ui:with field='res' type='com._.client.resources.Resources'></ui:with>
<g:Image resource="{res.menuLogo}" altText="" styleName="{style.menuLogo}"/>

但是,我正在尝试将图像添加为 a 的子元素<g:MenuItem>,在 GWT 中只能将纯 HTML 元素作为子元素:

<g:MenuItem>
    <img id="revealIcon" src="images/trianglebuttonWHITE-DOWN.png" width="11"/>
</g:MenuItem>

该图像是一个小部件,当子菜单处于活动状态时它会发生变化。

我的目标是通过 ClientBundle 处理所有资源,并避免在 WAR 目录中有任何资源。

我可以为纯 HTML<img>图像引用 ClientBundle 资源吗?

我应该以编程方式和/或使用 CSS Image Sprites 来代替吗?

4

1 回答 1

2
<img id="revealIcon" src="{res.menuLogo.getSafeUri}" width="11"/>

请注意,为了安全起见,您应该使用 aDataResource而不是 an ImageResource,因为从技术上讲,anImageResource可以与其他图像捆绑在一起,并且仅代表更大的“精灵”图像的一个区域(在这种情况下,ImageResource将是ImageResourcePrototype.Bundle, 但无法在 UiBinder 中检查它)。

于 2014-07-17T09:51:46.270 回答