我正在使用GWT2.3与GWTP。现在,在这个应用程序中,我需要从一个非演示类进行服务器端调用(因此没有调度异步实例)。这是我的类
public class NameTokenHandler implements ValueChangeHandler<String> {
@Inject
DispatchAsync dispatchAsync;
@Override
public void onValueChange(ValueChangeEvent<String> event) {
if (event != null) {
String nameToken = event.getValue();
if(dispatchAsync!=null)
{
System.out.println("yes");
} else {
System.out.println("No");
}
History.newItem(nameToken);
}
}
}
这里dispatchAsync总是null。我从哪里得到它应该被初始化,以便我可以使服务器端调用。如果有其他方法,请告诉我。提前感谢。
您需要注入NameTokenHandler
,因此您的调度程序也将被注入。
public class C {
private NameTokenHandler handler;
@Inject
public C(NameTokenHandler handler) {
this.handler = handler;
}
}
这样处理程序将被注入到C
类中,并且您的调度程序也将被注入到NameTokenHandler
中。顺便说一句,您可能需要在NameTokenHandler
中具有遵循相同模式的构造函数(DispatchAsync
作为参数)。