代码之家  ›  专栏  ›  技术社区  ›  kolrie

如何使用extgwt(GXT)在Grails上共享域对象?

  •  3
  • kolrie  · 技术社区  · 16 年前

    我的应用程序在逻辑上划分为服务器,其中包含我的Grails域对象和控制器;和客户机,在那里我有构建所有UI页面的Ext GWT类。

    遵循DRY原则,我不希望在服务器上将域数据“序列化”为JSON字符串,然后在客户端将其反序列化为另一个结构-我希望利用我已经拥有的域对象,这在添加、更改或删除新字段时不必更改多个位置。

    如果是,如何使.groovy域对象在“客户端”Ext GWT Java类上可用?

    如果没有,为什么不好?你会给出什么建议?

    2 回复  |  直到 16 年前
        1
  •  1
  •   Chii    16 年前

    这不是一个好方法——您需要一个GWT可序列化的java对象。我能看到的唯一真正的解决方案是编写一个插件(或添加到GWT插件)来自动生成数据传输对象,可能使用grails域对象中的注释。

    在gwt插件中使用类似的方法自动生成RPCAsync接口-请参见gwt插件目录中的GwtGrailsPlugin.groovy,第133行左右是开始。

    您可以挂接到该文件(或者直接修改该文件,可能更容易),并插入一些代码来生成数据传输文件。另外一个好处是,您可以将数据传输对象粒度化,这样私人数据(如密码!)就不会被传输。

        2
  •  0
  •   Joshua Kamau Joshua Kamau    15 年前

    或者,您可以将数据作为json或xml发送到客户端。您可以为服务器端创建RESTAPI。

    推荐文章