Ily*_*din 5 java gwt google-app-engine gwt-rpc
有没有办法通过从数据存储区加载的数据生成的GWT UI元素来加速页面的填充?加载页面时,我可以避免进行不必要的RPC调用吗?
有关我遇到的问题的更多详细信息:有一个页面,我在其中生成一个表,其中包含从数据存储区加载的实体列表的名称和按钮.页面有一个EntryPoint,在它的onModuleLoad()中我做了这样的事情:
final FlexTable table = new FlexTable();
rpcAsyncService.getAllCandidates(new AsyncCallback<List<Candidate>>() {
public void onSuccess(List<Candidate> candidates) {
int row = 0;
for (Candidate person : candidates) {
table.setText(row, 0, person.getName());
table.setWidget(row, 1, new ToggleButton("Yes"));
table.setWidget(row, 2, new ToggleButton("No"));
row++;
}
}
...
});
Run Code Online (Sandbox Code Playgroud)
这可以工作,但是需要超过30秒来加载具有300个候选按钮的页面.这是无法接受的.
该应用正在Google App Engine上运行并使用应用引擎的数据存储区.
你可以做很多事情,我会列出它们以便给你带来最好的影响.
FlexTable不适用于300行.由于您的表非常简单,您应该考虑手动生成HTML,然后使用简单的HTML小部件.此外,300行是很多信息 - 考虑使用分页.该DynaTable示例应用程序展示了如何做到这一点.