0

这是问题的延续

我目前正在处理它具有GWT和环境Restful的任务。Spring Framework

它有两个应用程序;应用程序#1通过 Restful Web 服务公开一些信息,应用程序 #2使用该服务并在 GWT 中显示这些详细信息。

对于应用程序#2,我曾经通过接口Spring RestTemplate使用Restful Webservice并返回详细信息列表。在 GWT 端,有一些DataListProvider要在GWT-DataGrid.

现在的问题是,我不知道如何GWT DataListProvider与我的DetailService类进行交互(这会返回List<Details>一个方法)。GWT- OnModule()当我在方法中直接调用服务类时GWT Compile,我遇到了一些UnResolved Type Error,由于这个类间接调用了Spring Libraries类,因此 GWT 无法编译它。

com.google.gwt.dev.jjs.InternalCompilerException: Failed to get JNode
    at com.google.gwt.dev.jjs.impl.TypeMap.get(TypeMap.java:140)
    at com.google.gwt.dev.jjs.impl.TypeMap.get(TypeMap.java:71)
    at com.google.gwt.dev.jjs.impl.BuildTypeMap.getType(BuildTypeMap.java:730)
    at com.google.gwt.dev.jjs.impl.BuildTypeMap.createField(BuildTypeMap.java:570)
    at com.google.gwt.dev.jjs.impl.BuildTypeMap.access$300(BuildTypeMap.java:99)
    at com.google.gwt.dev.jjs.impl.BuildTypeMap$BuildDeclMapVisitor.visit(BuildTypeMap.java:180)
    at org.eclipse.jdt.internal.compiler.ast.FieldDeclaration.traverse(FieldDeclaration.java:285)
    at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.traverse(TypeDeclaration.java:1232)
    at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:687)
    at com.google.gwt.dev.jjs.impl.BuildTypeMap.createPeersForNonTypeDecls(BuildTypeMap.java:637)
    at com.google.gwt.dev.jjs.impl.BuildTypeMap.exec(BuildTypeMap.java:514)
    at com.google.gwt.dev.jjs.impl.BuildTypeMap.exec(BuildTypeMap.java:523)
    at com.google.gwt.dev.jjs.JavaToJavaScriptCompiler.precompile(JavaToJavaScriptCompiler.java:599)
    at com.google.gwt.dev.jjs.JavaScriptCompiler.precompile(JavaScriptCompiler.java:33)
    at com.google.gwt.dev.Precompile.precompile(Precompile.java:284)
    at com.google.gwt.dev.Precompile.precompile(Precompile.java:233)
    at com.google.gwt.dev.Precompile.precompile(Precompile.java:145)
    at com.google.gwt.dev.Compiler.run(Compiler.java:232)
    at com.google.gwt.dev.Compiler.run(Compiler.java:198)
    at com.google.gwt.dev.Compiler$1.run(Compiler.java:170)
    at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:88)
    at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:82)
    at com.google.gwt.dev.Compiler.main(Compiler.java:177)
      [ERROR] <no source info>: public class org.springframework.web.client.RestTemplate
    extends org.springframework.http.client.support.InterceptingHttpAccessor
    implements : Unresolved type org.springframework.web.client.RestOperations

请提供您的建议,如何在这些服务类和 GWT 之间进行交互。

4

1 回答 1

0

您不能在客户端代码中使用 Spring。

可用选项有:

Presenter 中的回调,其中异步接口对服务控制器(在 App#2 的服务器端)进行 GWT-RPC 调用。您可以有一个 @RequestMapping 注释方法,其内部使用 RestTemplate。

让演示者使用 RequestFactory 并为您的有效负载使用 GWT 覆盖功能。

于 2012-11-04T17:15:35.393 回答