GWT - 服务器是否应该返回原始数据或小部件?

时间:2010-11-11 15:53:12

标签: gwt

新手问题:

作为对请求的响应,我的服务器返回一个类似树的数据结构,我想在客户端将它呈现为树。但是,将其转换为树窗口小部件的逻辑有点复杂。

我应该在服务器上构建GWT Tree小部件并按原样返回它,还是应该坚持原始数据,并在客户端制定小部件?

3 个答案:

答案 0 :(得分:5)

(1)您希望在服务器和客户端之间传输纯数据(Java对象)。客户端(浏览器内代码)应负责将纯数据转换为用户的可视化表示。

(2)此外,由于GWT小部件引用了浏览器DOM的部分,我很确定无论如何都无法在服务器上实例化这些对象。

答案 1 :(得分:2)

我认为你不应该发送整个小部件树的两个原因:

  • 将处理传递给客户端可以让您的服务器更轻松,特别是在处理大量昂贵的请求时。这就是GWT的全部意义:让客户做好工作。
  • 与UI相关的东西不是服务器的责任。在加载no.cache.js之后,在客户端上完成延迟绑定(即,确定请求来自特定浏览器需要应用程序的哪些部分)等功能。这不能在服务器上完成。

答案 2 :(得分:0)

也许您需要一个包含预处理布局数据的数据结构?您可以在客户端预处理所需的布局代码,将其粘贴到某种特殊类的Array / ArrayList中。也许,您可以绕过构建树的客户端逻辑并迭代列表?但你应该检查时间,例如对于排序大列表,在服务器上排序并发回列表更快,对于小列表,网络开销大于较慢的浏览器javascript。我不知道你的例子是否适用。