Web applications 如何将Freemarker模板中的数据转换为GWT代码?

Web applications 如何将Freemarker模板中的数据转换为GWT代码?,web-applications,gwt,freemarker,Web Applications,Gwt,Freemarker,我有一个使用条纹和自由标记的webapp设置;部分原因是,我还编写了一些GWT代码,我试图找出从actionBean获取信息到GWT代码的最佳方法。目前我在模板中执行此操作: <script> var params = { nick : "${actionBean.nick}", logout: "${actionBean.logout}" } </script> 变量参数={ 尼克:“${actionBean.nick}”, 注销:“${ac

我有一个使用条纹和自由标记的webapp设置;部分原因是,我还编写了一些GWT代码,我试图找出从
actionBean
获取信息到GWT代码的最佳方法。目前我在模板中执行此操作:

<script>
  var params = {
    nick : "${actionBean.nick}",
    logout: "${actionBean.logout}"
  }
</script>

变量参数={
尼克:“${actionBean.nick}”,
注销:“${actionBean.logout}”
}
然后我在进入GWT模块时执行一个
Dictionary.getDictionary(“params”)
。这很好,但我觉得我可以做得更好。建议?

GWT策略“将所有内容编译成一堆static.js”不允许修改js本身。它允许使用强名称技术在浏览器中缓存所有GWT代码

因此,如果任何动态数据必须进入GWT小部件内部,那么它必须来自外部。而你的小部件将不得不使用它。因此,声明这本词典似乎是正确的方法(我是在工作中这样做的)

一个选项是使用GWT exporter生成一个JavaScript友好的GWT小部件(我的意思是,一个JavaScript类,具有可读的类和方法名称)。然后,javascript可以注入值本身,使GWT小部件不知道其上下文。比如:

var x = new MyExportedWidget();
x.addTo(somePanel);
x.setProperty(value);
但这似乎太过分了