如何在 gwt 中不分派异步实例的情况下进行服务器调用

Posted

技术标签:

【中文标题】如何在 gwt 中不分派异步实例的情况下进行服务器调用【英文标题】:How to make a server call with out dispatch async instance in gwt 【发布时间】:2011-09-08 07:46:10 【问题描述】:

我正在使用 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 始终为空。我从应该初始化的地方得到,以便我可以进行服务器端调用。如果还有其他方法,请告诉我。 提前致谢。

【问题讨论】:

你如何创建类NameTokenHandler @sydney 只是通过实现 ValueChangeHandler.... 如上所述 您是否调用new NameTokenHandler() 来创建对象? 是的,我已将此添加到历史记录中。 【参考方案1】:

你需要注入NameTokenHandler,所以你的dispatcher也会被注入。

public class C 

  private NameTokenHandler handler;

  @Inject
  public C(NameTokenHandler handler) 
    this.handler = handler;
  


这样处理程序将被注入到C 类中,您的调度程序也将被注入到NameTokenHandler 中。顺便说一句,您可能需要在 NameTokenHandler 中有一个遵循相同模式的构造函数(DispatchAsync 作为参数)。

【讨论】:

以上是关于如何在 gwt 中不分派异步实例的情况下进行服务器调用的主要内容,如果未能解决你的问题,请参考以下文章

GWT 异步生成,在某些情况下关闭?

拦截 GWT RPC 的异步代理服务异常

GWT-Designer 在添加远程服务时不会构建异步接口

GWT:分派传入 RPC 调用时出现异常

GWT 的各种异步设施

PHP apcu 在 Laravel 排队/分派作业中不持久