2012-04-28 2 views
1

Я новичок в GWT. Мне удалось сделать учебник о том, как создать простое приложение StockWatcher. Теперь я хочу загрузить данные с сервера. Прочитав много разных способов сделать это в GWT, я решил использовать RequestFactory, потому что, по-видимому, это самый аффективный способ писать поддерживаемое приложение.Начало работы с GWT RequestFactory

Проблема заключается в том, что нет никакого учебника о RequestFactory, и Eclipse достаточно сложно управлять, когда вы знаете, с чем еще труднее управлять, когда я использую новый инструмент, такой как GWT.

я смог найти различные банки, необходимые для RequestFactory как

  1. GWT-servlet.jar
  2. GWT-сервлет-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.

Любая помощь будет отличной. Я постараюсь сделать сообщение, как только мне удастся получить эту работу, чтобы другие могли ее использовать.

Спасибо, Ido.

+0

Я удалось получить новое сообщение об ошибке: СИЛЬНЫЙ: не удалось вызвать метод GetNum JA va.lang.IllegalArgumentException: объект не является экземпляром класса объявления –

+0

Stacktrace? Эта ошибка может быть ** ничего **. –

ответ

1

Я это выясняю. объект не является экземпляром объявления класса означает, что мы пытаемся вызвать метод экземпляра объекта, который не относится к типу, объявленному методом.

Моя ошибка заключалась в том, что в моей реализации ServiceLocator я ошибочно возвращаю экземпляр объекта моей модели домена (StockQuote) вместо DAO (StockQuoteDao). Это вызывает код RequestFactory, чтобы попытаться вызвать метод StockQuoteDao.getNum на экземпляре StockQuote.

Ido.

0

Если вы используете Google плагин для Eclipse Этого http://vivagwt.blogspot.com/2011/09/requestfactory-en-gwt-24.html вам нужно восстановить проецирование каждый раз, когда вы меняете вы RequestContext

Примечания: требуется GWT-servlet.jar, если вы используете RPC

0

Рекомендует также вы можете автоматически запускать 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> 
Смежные вопросы