我有以下 UiRenderer(模板 renerer 文件:不是小部件绑定(bind)程序),我的问题在于字段 desc
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder">
<ui:with field='logo' type='java.lang.String' />
<ui:with field='name' type='java.lang.String' />
<ui:with field='desc' type='java.lang.String' />
<ui:with field='prodCnt' type='java.lang.String' />
<div class="shopMainCell">
<div class="shopLogo">
<img src='{logo}' />
</div>
<div class="shopProps">
<div class="name">
<ui:text from='{name}'></ui:text>
</div>
<div class="desc">
<ui:text from='{desc}'></ui:text>
</div>
<div class="prodCnt">
<ui:text from='{prodCnt}'></ui:text>
</div>
</div>
</div>
</ui:UiBinder>
事实上 desc
包含 HTML,当我将值传递给 UiRenderer
时,所有 html 标签都不会被浏览器解释,因为它们被转义了。
不接受尝试与 SafeHtml
一起使用(作为 ui:text 的参数)
最佳答案
尝试使用<ui:safehtml from='{...}'/>
在你的uiRenderer
模板。
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder">
<ui:with field='logo' type='java.lang.String' />
<ui:with field='name' type='java.lang.String' />
<ui:with field='desc' type='com.google.gwt.safehtml.shared.SafeHtml' />
<ui:with field='prodCnt' type='java.lang.String' />
<div class="shopMainCell">
<div class="shopLogo">
<img src='{logo}' />
</div>
<div class="shopProps">
<div class="name">
<ui:text from='{name}'/>
</div>
<div class="desc">
<ui:safehtml from='{desc}'/>
</div>
<div class="prodCnt">
<ui:text from='{prodCnt}'/>
</div>
</div>
</div>
</ui:UiBinder>
关于gwt - 如何用 safeHtml 值填充 UiRenderer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24242883/