Gwt 使用UiBinder的动态文本

Gwt 使用UiBinder的动态文本,gwt,uibinder,Gwt,Uibinder,我需要为以下(简化)情况准备UiBinder模板: 收件人:威尔·史密斯 当然,名字和姓氏是动态的 我在UiBinder xml中得到了以下结果: 收件人: 如您所见,生成的html将有额外的span元素。我想实现完全相同的html。是否有任何(简单的)方法/UI组件可以做到这一点?感谢您的帮助 编辑。我不想从UiBinder中提取收件人:(我们可以想象在动态文本前后有更多html标记的情况,我很自然地认为它必须是(某些)UiBinder模板的一部分)除了发出整个收件人:Will Smi

我需要为以下(简化)情况准备UiBinder模板:


收件人:威尔·史密斯
当然,名字和姓氏是动态的

我在UiBinder xml中得到了以下结果:


收件人:
如您所见,生成的html将有额外的
span
元素。我想实现完全相同的html。是否有任何(简单的)方法/UI组件可以做到这一点?感谢您的帮助


编辑。我不想从UiBinder中提取
收件人:
(我们可以想象在动态文本前后有更多html标记的情况,我很自然地认为它必须是(某些)UiBinder模板的一部分)除了发出整个
收件人:Will Smith
字符串之外,没有其他选择,为此,
安全HTML模板可以提供帮助(或者
消息
,如果您想以牺牲HTML安全为代价实现国际化)

让我们为您的
使用
HTML
小部件(如果可以,请使用简单的
):



话虽如此,让我质疑一下您最初的目标:为什么要删除
span

您没有其他选择,只能发出整个
接收:威尔·史密斯
字符串,对于这一点,
安全HTML模板
可以有所帮助(或
消息
,如果您希望以牺牲HTML安全性为代价实现国际化)

让我们为您的
使用
HTML
小部件(如果可以,请使用简单的
):



话虽如此,我还是要问一下您最初的目标:为什么要删除
span

谢谢您的回答Thomas。您回答了最初的问题。问题是我错过了一个对我来说很重要的部分:我想在UiBinder文件中动态部分之前使用所有html标记(因为对我来说,UiBinder文件是所有标记的正确位置)。我几乎可以肯定这是不可能做到的。看起来所有HTMLPanel标记之间的内容都被UiBinder当作普通字符串处理。我稍后接受您的回答,以确保我不会错过任何其他可能性。再次感谢您提供安全的HTMLTemplate方式。我想删除
span
,因为:1)html/css是在GWT标记之前准备好的2)我无法更改html/css。我正在尝试改变这个过程:为GWT屏幕准备css,但我还没有做到。所以此刻我必须从GWT方面找到解决问题的所有方法。谢谢你们的回复。你回答了最初的问题。问题是,我遗漏了一个对我来说很重要的部分:我希望在UiBinder文件中的动态部分之前使用所有html标记(因为对我来说,UiBinder文件是所有标记的正确位置)。我几乎可以肯定这是不可能做到的。看起来HTMLPanel标记之间的所有内容都被UiBinder视为普通字符串。我稍后接受你的回答,以确保我没有错过任何其他可能性。再次感谢您提供了安全的html模板方式。我想删除
span
,因为:1)html/css在GWT标记之前准备好了2)我无法更改html/css。我正在尝试改变这个过程:为GWT屏幕准备css,但我还没有做到。所以此刻我必须从GWT方面找到解决问题的所有方法。
<g:HTML styleName="recipient" ui:field="recipient" />
interface Templates extends SafeHtmlTemplates {
  @Template("<strong>Recipient: </strong> {0}")
  SafeHtml recipient(String recipient);
}

static final Templates TEMPLATES = GWT.create(Templates.class);
recipient.setHTML(TEMPLATES.recipent("Will Smith"));