【问题标题】:Getting Started with GWT RequestFactoryGWT RequestFactory 入门
【发布时间】:2012-04-28 07:19:13
【问题描述】:

我是 GWT 的新手。我已经完成了有关如何构建简单 StockWatcher 应用程序的教程。 现在,我想从服务器加载数据。在阅读了在 GWT 中执行此操作的许多不同方法后,我决定使用 RequestFactory,因为显然它是编写可维护应用程序的最有效方式。

问题是没有关于 RequestFactory 的教程,而且当你知道是否 Eclipse 时很难管理,当我使用像 GWT 这样的新工具时更难管理。

我已经设法找到 RequestFactory 所需的不同 jar,例如

  1. gwt-servlet.jar
  2. gwt-servlet-deps.jar
  3. requestfactory-server.jar

现在我收到以下错误:

java.lang.RuntimeException: The RequestFactory ValidationTool must be run for the com.google.gwt.sample.stockwatcher.shared.service.StockWatcherRequestFactory RequestFactory type

我什至也为此找到了方向:RequestFactoryInterfaceValidation 但它仍然无法正常工作。

我已将 com.google.web.bindery.requestfactory.apt.ValidationTool 添加到我的构建路径中,它似乎有帮助(消息已消失)但随后我收到了不同的错误消息。

我已经将源推送到github repository

任何帮助都会很棒。 一旦我设法让它工作,我会尝试发布一个帖子,以便其他人可以使用它。

谢谢, 伊多。

【问题讨论】:

  • 我设法得到一条新的错误消息:严重:无法调用方法 getNum java.lang.IllegalArgumentException:对象不是声明类的实例
  • 堆栈跟踪?该错误可能是任何东西

标签: google-app-engine requestfactory


【解决方案1】:

我想通了。对象不是声明类的实例意味着我们尝试在对象上调用实例方法,该对象不是声明该方法的类型。

我的错误是,在我的 ServiceLocator 实现中,我错误地返回了我的域模型对象 (StockQuote) 而不是 DAO (StockQuoteDao) 的实例。这会导致 RequestFactory 代码尝试在 StockQuote 实例上调用 StockQuoteDao.getNum 方法。

伊多。

【讨论】:

    【解决方案2】:

    如果您使用 google 插件进行 eclipse 使用这个 http://vivagwt.blogspot.com/2011/09/requestfactory-en-gwt-24.html 每次更改请求上下文时都需要重建项目

    注意:如果使用 RPC,则需要 gwt-servlet.jar

    【讨论】:

      【解决方案3】:

      您也可以在编译阶段使用 maven 自动运行 RequestFactory ValidationTool

      <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.1</version>
          <configuration>
              <forceJavacCompilerUse>true</forceJavacCompilerUse>
          </configuration>
          <dependencies>
              <dependency>
                  <groupId>com.google.web.bindery</groupId>
                  <artifactId>requestfactory-apt</artifactId>
                  <version>2.6.1</version>
              </dependency>
          </dependencies>
      </plugin>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-26
        • 2011-05-26
        • 2012-04-09
        • 1970-01-01
        • 1970-01-01
        • 2014-06-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多