这是issue
的延续我目前正在处理GWT
,Restful
和Spring Framework
环境的任务。
它有两个应用程序; 应用程序#1 通过Restful Webservice和 Application#2 公开一些信息,这些信息使用该服务并在GWT中显示这些详细信息。
对于应用程序#2,我使用Spring RestTemplate
来使用Restful Webservice
并通过接口返回详细信息列表。在GWT结束时,有一些DataListProvider
在GWT-DataGrid
中设置数据列表。
现在的问题是,我不知道如何与我的GWT DataListProvider
类进行DetailService
的互动(这会返回 List<Details>
方法)。当我在GWT- OnModule()
方法中直接调用服务类时,在GWT Compile
期间,我面临一些未解决的类型错误,因为此类间接调用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之间进行交互。
答案 0 :(得分:0)
你不能在客户端代码中使用Spring。
可用选项包括:
演示者中的回调,其中异步接口对服务控制器(在App#2的服务器端)进行GWT-RPC调用。您可以使用@RequestMapping带注释的方法,其内部使用RestTemplate。
让演示者使用RequestFactory并为您的有效负载使用GWT覆盖功能。