1

使用 GWT 通过反射调用方法的最佳方式是什么,我知道有一些框架,例如“GWT Reflection”,但我真的很想听听一些关于此的反馈。如何转换这样的东西的最佳方法是:

GreetingServiceAsync service = GWT.create(GreetingService.class);
AsyncCallback callBack = new AsyncCallback< Void>() {
            @Override
            public void onFailure(Throwable caught) {               
            }
            @Override
            public void onSuccess(Void result) {            
            }
        };      
service.doSomething(callBack);

in:
GreetingServiceAsync greetingService = GWT.create(GreetingService.class);

String methodName = “doSomething”;
Object service;
AsyncCallback callBack = new AsyncCallback< Void>() {
            @Override
            public void onFailure(Throwable caught) {               
            }
            @Override
            public void onSuccess(Void result) {            
            }
        };

/*somehow invoke by reflection*/
Class<?> c = Class.forName(GreetingServiceAsync.class.getName());
Method  method = c.getMethod(methodName, AsyncCallback.class);
method.invoke (service, callBack);

非常感谢,路易斯。

4

1 回答 1

2

Javascript 101 - 没有反射的概念。GWT java 转换为 javascript。所以 gwt 不提供反射支持。在其主页中声明 gwt 反射的所有其他库都只是解决了一个角落功能并错误地说明了它们的功能。

于 2013-01-12T04:36:29.077 回答