0

これは問題の続きです

私は現在、環境があるタスクに取り組んでGWTRestfulますSpring Framework

2 つのアプリケーションがあります。アプリケーション #1は Restful Webservice を介して一部の情報を公開し、アプリケーション #2はそのサービスを使用してそれらの詳細を GWT に表示します。

アプリケーション #2 では、インターフェイスを介して を使用Spring RestTemplateRestful Webservice、List of Details を返しました。そしてGWTの最後にDataListProvider、Data Listを設定するものがありましたGWT-DataGrid

GWT DataListProvider問題は、DetailServiceクラスとのやり取りを行う方法がわからないことです(これはList<Details>メソッドでを返します)。GWT- OnModule()メソッドでService Class を直接呼び出すと、GWT CompileUnResolved 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 を含めることはできません。

利用可能なオプションは次のとおりです。

非同期インターフェイスがサービス コントローラーに対して GWT-RPC 呼び出しを行うプレゼンターのコールバック (アプリ #2 のサーバー側)。内部で RestTemplate を使用する @RequestMapping アノテーション付きメソッドを使用できます。

プレゼンターに RequestFactory を採用させ、ペイロードに GWT オーバーレイ機能を利用させます。

于 2012-11-04T17:15:35.393 に答える