【发布时间】:2010-12-21 19:52:32
【问题描述】:
我有一个 HTML 块,我想将它用作 GWT 小部件的基础,但我不太确定这样做的最佳方式。例如,我的 HTML 块如下所示:
<div class="my-widget">
<div class="header">
<span class="title">Title Text</span>
</div>
<div class="body">
<span class="content">Content Text</span>
</div>
</div>
现在,我当然可以将它作为静态字符串粘贴到 HTML 小部件中,但在这种情况下,我需要能够动态设置“标题”和“内容”元素的文本。这会杀死(或至少使静态文本选项变得更加困难)。
在这种情况下,首先想到的是手动构建 GWT 中的元素并保存对我需要更改的元素的引用,如下所示:
DivElement container = document.createDivElement();
setStyleName(container, "my-widget");
setElement(container);
DivElement header = document.createDivElement();
setStyleName(header, "header");
container.appendChild(header);
// Hold onto this element for later manipulation
DivElement title = document.createDivElement();
setStyleName(title, "title");
header.appendChild(title);
但这很快就变得难以管理,除了最简单的布局(我的不是。)
我想要的是能够将 HTML 作为静态文本发送,然后执行某种选择器(如 jQuery)来查询我想要操作的元素。我知道GWT-Query,但我无法让它在没有错误的情况下运行,而且在我看来,它的生命周期还为时过早,我无法将它整合到专业产品中。 .
我也知道 Google 的 UiBinder,这听起来完全符合我的要求。据我所知,问题在于,该功能仅在 GWT 2.0 中可用,它仍处于候选发布状态,因此对我来说无法使用。
那么,考虑到所有这些(对不起,问题太长了!)您对如何最好地实现这样的目标有什么建议吗?
【问题讨论】: