【问题标题】:java.lang.reflect.Proxy-like functionality in GWT via JSNI通过 JSNI 在 GWT 中实现类似 java.lang.reflect.Proxy 的功能
【发布时间】:2011-06-03 03:34:47
【问题描述】:

对于 GWT 中的一些自定义客户端-服务器-通信代码,我想动态实现一个 Java 接口,类似于使用 java.lang.reflect.Proxy 完成的方式。由于 GWT 不包含任何反射支持,而且我讨厌编写笨重的代码生成器,我想知道这是否可以使用 JSNI 和 Overlay 类型来完成。

我的想法如下:

  1. 我有一些现有的 java 接口,以及它的方法及其签名、注释等的表示形式(因为实际的类对象在 GWT 中没有任何帮助)。
  2. 我将该表示传递给一些 JSNI 方法,该方法使用它来构造一个新的 Javascript 对象并在其上定义相应的方法。这些方法的实际实现相当简单,它们只是将参数写入一些数据结构并返回 null。
  3. 我从 JSNI 返回一个 Javascript 对象,该对象以某种方式可转换为接口类型。当在此实例上调用接口中的方法时,会调用第 2 步中定义的相应 Javascript 方法并保存参数。

有没有人尝试过类似的事情?这在原则上不起作用有什么原因吗?

提前致谢。

【问题讨论】:

    标签: java javascript gwt reflection jsni


    【解决方案1】:

    是什么阻止您在 Java 中做同样的事情?有一个工厂方法,你可以将一些数据传递给它,它会返回你的接口的实现。由于您说实现非常简单,因此您将拥有一组有限的具体类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-20
      • 1970-01-01
      • 1970-01-01
      • 2012-10-31
      • 2016-05-10
      • 1970-01-01
      相关资源
      最近更新 更多