Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.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
使用嵌套小部件/html更改GWT HTMLpanel中的文本_Gwt_Uibinder - Fatal编程技术网

使用嵌套小部件/html更改GWT HTMLpanel中的文本

使用嵌套小部件/html更改GWT HTMLpanel中的文本,gwt,uibinder,Gwt,Uibinder,我正在与GWT一起使用UiBinder。我有一个HTML面板,里面有一堆小部件和HTML元素。我需要更改父HTMLpanel中的文本,以反映用户的性别(他对她类型的东西)。我需要更改的所有文本都在不同的div元素中(不是在任何小部件中),但不是在同一个div中 <g:HTMLPanel ui:field="parentWidget"> <div>I think he is currently in a meeting.</div> <my:widge

我正在与GWT一起使用UiBinder。我有一个HTML面板,里面有一堆小部件和HTML元素。我需要更改父HTMLpanel中的文本,以反映用户的性别(他对她类型的东西)。我需要更改的所有文本都在不同的div元素中(不是在任何小部件中),但不是在同一个div中

<g:HTMLPanel ui:field="parentWidget">
 <div>I think he is currently in a meeting.</div>
 <my:widget>stuff</my:widget>
 <div>I will have him call you when he gets out</div>
</g:HTMLPanel>
但它并没有像我想象的那样起作用


任何建议

正如其他人所建议的那样,GWT的消息接口是进行此项工作的理想方式。但是,如果要使用字符串替换技术,可以执行以下操作:

NodeList childNodes=parentWidget.getElement().getChildNodes();
对于(int i=0;如果对于此类消息(复数或性别deptendent),您可以从GWT的messages接口使用@AlternateMessage adnotation。通常,当您需要访问文本或html内容时,您应该在代码中声明@UiField DivElement。只需suggestionreplaceAll()就可以使用正则表达式。您所说的“它不起作用”?我同意,对于许多文本和许多变体,消息接口是最好的选择,但对于一个简单的他/她情况,正则表达式是最简单的解决方案。
parentWidget.getElement.setInnerHTML(parentWidget.getElement.getInnerHTML().replaceAll(...)