2010-10-26 63 views
2

我在我的GWT应用程序中使用树控件。树根据用户登录有不同的项目。填充树的一种方法是从我的GWT代码查询服务器以获取树项目列表。但是因为这些项目总是会显示出来,所以在页面本身中包含关于它们的信息会更好吗?我正在寻找意见来实现这一目标。是否有可能得到像Django这样的模板引擎,以便在服务时将这些值插入到GWT字符串变量中?然后我可以使用这些字符串变量来填充树。还是有更好的方法来实现这一目标?GWT用Django模板设置变量值

回答

2

我在GWT组last year中回答了一个非常类似的问题,所以你可能想看看那里。


的想法,就像你说的,是嵌入主机页面内这个数据,而不是射击应用程序的初始化过程中额外的GWT RPC请求。您可以:

  1. 嵌入主机中的网页JavaScript变量内的数据,并使用Dictionary

    这是一个简单的解决方案,特别是如果你的数据是可序列化的字符串的字典访问它。您可以使用您选择的模板引擎将这些数据插入主机页面(Django's,Mustache,FreeMarker,JSP ...)。

  2. 嵌入主机页面内GWT-RPC有效载荷,如解释herethere

    这是更好,如果你需要序列化整个对象图(这可能是你想要什么,你的树部件,根据在其复杂性)。它就像一个标准的GWT-RPC请求,但不是在启动时发送HTTP请求,而是在您提供服务时将GWT-RPC“响应”嵌入您的主机页面中。

+1

这是正确的答案。另一个教程在这里:http://code.google.com/webtoolkit/articles/dynamic_host_page.html – 2010-10-26 20:40:05

+0

哇,很好的文章。没有考虑使用JSNI来访问嵌入式数据,但它也是有道理的。 – 2010-10-26 20:44:12