java - 如何使用 GWT 2.4 在服务器端动态创建 UI

标签 java gwt

我正在尝试使用 Google Web Toolkit v2.4 创建用户界面。由于各种原因,我需要在运行时指定服务器界面的内容。我的意思不仅仅是按钮需要动态标签等,而是整个 UI 需要在运行时创建。

我的大部分 UI 都可以指定为直接的 HTML。但我也想要像 Scrollpane 这样的小部件。当然,我需要以某种方式将操作附加到按钮之类的东西上。

我尝试通过创建 com.google.gwt.user.client.ui.Button 的实例来创建 UI 服务器端,并通过 RPC 调用将它们返回给客户端。但是 Button 类不可序列化。 (包名也告诉我这是一个应该只存在于客户端的对象。)

我考虑过动态生成一个 UiBinder 模板。但是,似乎需要编译 UI Binder 模板。

我现在正在考虑将 HTML 发送到带有占位符 XML 元素的客户端,GWT 小部件应该放在该位置。在客户端,我会使用 DOM 方法来查找它们并用 GWT 小部件替换它们。但在这一点上,我觉得我已经误入歧途了。

感觉应该有一个直接的方法来做到这一点,但它让我望而却步。

建议?

最佳答案

GWT 没有内置支持这样的东西(因为它完全没有 gwt 的意义)。 所以你有两个选择,

构建你自己的框架,这样你就可以从服务器向客户端发送一些布局页面数据,客户端将解析它并创建用户界面

您可以使用其他一些框架,例如 Vaadin基本上做你想做的,或者一些 JavaScript UI 框架 + Node.js 的组合,你可以在客户端和服务器之间轻松共享代码。

关于java - 如何使用 GWT 2.4 在服务器端动态创建 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9007389/

相关文章:

java - 作业: Java calculator dealing with dates -- Is my array correct?

java - Spring Boot 中 REST api 的多个端点

gwt - GWT中的Shift键?

java - 将插件添加到 PlayN 项目

java - 将图像参数从 GWT/GXT 传递到 Jasper 报告的问题

performance - GWT Grid - 如何测量客户端的渲染时间

java - equals() 应该是递归/深度的吗?

java - WSO2:点对点消息传递

java - 如何在我的 JNLP 应用程序中修复 "missing Codebase, Permissions, and Application-Name manifest attribute"?

eclipse - 安装以前版本的 GPE?