Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用UIBinder混合HTML和GWT小部件?_Gwt_Uibinder - Fatal编程技术网

如何使用UIBinder混合HTML和GWT小部件?

如何使用UIBinder混合HTML和GWT小部件?,gwt,uibinder,Gwt,Uibinder,我们有一个使用UIBinder构建的现有UI,其UI.xml文件包含以下层次结构: <ui:UiBinder> <div> Multiple <span> or <a> separated by verbatim HTML (like | separators). 多个或由逐字HTML分隔(如|分隔符)。 我需要用列表框替换其中一个锚 有没有一种方法可以在不使用HTMLPanel替换div并将所有锚更改为其他锚的情况下进行此转换 如果我尝试将

我们有一个使用UIBinder构建的现有UI,其UI.xml文件包含以下层次结构:

<ui:UiBinder>
<div>
Multiple <span> or <a> separated by verbatim HTML (like | separators).

多个或由逐字HTML分隔(如|分隔符)。
我需要用列表框替换其中一个锚

有没有一种方法可以在不使用HTMLPanel替换div并将所有锚更改为其他锚的情况下进行此转换

如果我尝试将gwt:ValueListBox或gwt:ListBox粘贴在其中,则会收到一条错误消息,表示无法将两者混合使用。我也不能在UIBinder下有多个子项(比如一个div和一个HTMLPanel)


如果我唯一的选择是将所有内容转换为小部件,那么对和项的适当转换是什么?

在UIBinder中,
HTMLPanel
可以包含HTML元素和GWT小部件,但HTML元素只能包含其他HTML元素

只需将顶级
div
替换为
HTMLPanel
,然后仅将特定的
锚替换为
gwt:ListBox
,如下所示

<gwt:HTMLPanel>
    <div align="center">
        <gwt:VerticalPanel res:styleName="style.background">


为什么不在活页夹中添加一个HTMLPanel,然后将div和其他HTML放入其中?…当然,在Java代码中,您可能需要
扩展复合
initWidget
,而不是
扩展Widget
setElement
。来自HTMLPanel javadoc:“一个包含HTML的面板,可以将子窗口小部件附加到该HTML中已标识的元素。”-这表明HTML元素实际上可以包含窗口小部件