问题描述
我有一个GWT页面,上面有一个列表(来自数据存储)。 我了解如何在页面加载后通过异步调用获取此列表,但是我想确保在页面初始加载时,其中包含有效数据。 否则,页面将在大部分时间内加载,然后列表被填充,这将导致加载不稳定,并且用户需要等待更长的时间才能加载页面。
那么,如何在服务器加载数据时将其从服务器获取到页面中? 有没有办法从我的UIBinder类的构造函数中调用服务器端服务? 我无法调用实际的服务实现,因为客户端代码无法引用服务器端代码,对吗?
当然,这不是唯一的需求,但是我似乎在Google上找不到任何提示(尽管我可能没有搜索正确的术语)。
1楼
为了解决相同的问题,我在自己的项目中所做的工作是使用JSP将所需的数据作为javascript对象嵌入到页面源中。 这样,在调用onModuleLoad()时数据已经存在。 Google有一些有关如何将javascript对象读入Java代码的 。
显然,您还需要对有所了解。
2楼
您可以隐藏整个页面的内容,直到加载数据为止,以免造成断断续续的影响。
但最用户友好的方法是在页面加载时显示加载消息。 然后,在异步调用的成功和失败事件中,绑定数据后,隐藏加载消息。