如何将Class []和Object []传递给gwt服务?

时间:2011-01-20 13:05:05

标签: java serialization gwt

我正在尝试将类型为Class []和Object []的参数传递给实现反射的服务,以便在服务器上找到调用所需的方法。这是方法签名

 public void invokeMethod(String methodName,Class [] params,Objects [] args){
   ................
 }

我已经读过对象和类在Gwt中不可序列化,那么有没有解决方法呢?

由于

1 个答案:

答案 0 :(得分:1)

不是真的。 GWT编译器需要知道您要序列化的每个类,以便它可以为您生成适当的存根等。如果您要在Object[]内传递的内容有限,那么您可以通过向您的界面添加一个方法来解决这个问题:

public void hackSoGWTCompilerKnowsAllTypes(MyFirstClass unused1, MySecondClass unused2 /* ... */);

当GWT编译器遇到这个时,它会为MyFirstClass,MySecondClass等生成适当的编组代码,但这是一个丑陋的黑客攻击。