0

我是 GWT 的新手,我需要在我的 java 文件中的 html-panel 小部件中添加一大段 html 代码(包含许多包含 id 和类的 div)。我试图像这样添加:

HTML html = new HTML("<div class=\"class1\">This is a class1.");
HTML html2 = new HTML("And it ends here</p>");
RootPanel.get().add(html);
RootPanel.get().add(html2);

但是我对包含的 div 有疑问。有没有更简单的方法来处理这段大代码。谢谢。

4

2 回答 2

3

先生,您正在寻找 UiBinder: https ://developers.google.com/web-toolkit/doc/latest/DevGuideUiBinder

当您在纯 HTML 中做很多事情时,UiBinder 非常棒。

但是,一旦您深入了解,UiBinder 会提供很多功能,因此请小心。我建议查看 CssResource 以及它与 UiBinder 的关系,以便您可以共享一些 Css 或仅在每个 UiBinder 文件中嵌入 Css。(注意 UiBinder 文件中对 Css 的编程访问)

也不是其他功能,例如导入其他带有命名空间的自定义 UiBinder/Widgets,例如内置 (< g:Button> -> < mynamespace:MyCustomWidget>)

但是您可能只是想在 UiBinder 中布置所有内容并在 java 文件中定义 @UiField

希望这可以帮助!

-阿什顿

于 2012-08-18T16:18:10.000 回答
1

如果您的 HTML 是静态的,则必须使用 UiBinder。

如果您的 HTML 是动态生成的,则可以使用 com.google.gwt.user.client.ui.HTML。

您的代码不起作用,因为您必须为 HTML 构造函数提供一个有效的 html 字符串。

我建议您阅读本指南:

https://developers.google.com/web-toolkit/doc/latest/DevGuideSecuritySafeHtml#Prefer_Plain_Text

于 2012-08-20T09:45:14.980 回答