問題タブ [requestfactory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
616 参照

java - GrailsでGWTRequestFactoryを使用する場合のClassLoaderの問題

GrailsでGWTRequestFactoryを実行するために、私は次のアプローチを使用しています。

ここで、DummyServletConfigはの単純な実装ですServletConfig

これは、アプリをTomcatにデプロイするときに機能します。ただし、テストモードまたは開発モードを使用する場合はそうではありません。間違ったクラスローダーを使用しないように、GWTサーブレットを調整する必要がありました。

46行目で変更しました

そうしないと、ドメインクラス(明らかにGrailsRootLoaderには存在しませんが、スレッドのクラスローダーに存在します)が見つかりません。

ここで、GWTサーブレットをGoogleがリリースした公式バイナリに戻したいのですが、Grailsの誤ったClassLoaderを修正したり、GWTソースを変更せずにRequestFactoryServletを正しく機能させるにはどうすればよいでしょうか。

0 投票する
1 に答える
580 参照

gwt - GWT 組み込み ValueProxy スタック オーバーフロー エラー

PersonProxy {String getName(); がある場合 PersonProxy getParent();} で、RequestFactory が提供する Request オブジェクトを介してサーバーからロードしようとすると、スタック オーバーフロー エラーでクラッシュします。hashCode() を無期限に呼び出そうとします。

なぜこれが起こっているのですか?

ありがとう。

0 投票する
1 に答える
459 参照

java - requestfactory が使用するドメインオブジェクト内で現在のリクエストにアクセスする方法は?

GWT RequestFactory を使用しています。RemoteServiceServlet を拡張する通常の RPC クラスにいるときは、 を使用して現在のリクエストにアクセスできますthis.getThreadLocalRequest()

今、私は Domain オブジェクトにいます。現在のリクエストにアクセスするにはどうすればよいですか? 私は得る必要がありますgetThreadLocalRequest().getRemoteUser()

0 投票する
1 に答える
983 参照

smartgwt - GWT mvp : Places 、 RequestFactory および SmartGwt および gwt-sl

私は GWT と MVP を初めて使用し、いくつかのライブラリ (gwt-sl、gwt-presenter、gwt-dispatch) とフレームワーク (smartgwt ..) を調べましたが、非常に混乱しています。smartgwt ui コンポーネントと gwt mvp を使用してそれらを処理することに固執することにしました。smartgwt は、理想的に拡張したいデータソースを使用してモデル化されています (そして、dto (または gwt の要求ファクトリを使用するプロキシ オブジェクト) を使用して入力します)。しかし、私は今これらすべてのこつを持っていません。

a)Googleがレイアウトしたgwt mvpでは、場所の状態は正確に何ですか? 私たちは常に人を新しい場所に送りますか? そうでなく、履歴が場所のトークンを保持している場合、状態はどのようにロードされますか?

b) gwt mvpに関する別の投稿からモデルはどこですか? 典型的な mvc 設計パラダイムに慣れている私たちのほとんどは、モデルの状態がプレゼンター内に存在すると想定します。の場所で提案されているように、clientfactory は、ビューに表示されている現在のモデルを格納するのに適切な場所であると思いますか?

c) requestfactory を使用して smartgwt のデータバインドされたコンポーネントを設定できるかどうかを知りたいですか? (私が理解していることから、smartgwt サーバー側フレームワークを使用することは本質的に同じことを行います.. オブジェクト グラフの変更のみをネットワーク経由で送信しますか?)

d) David Chandler のスライドの 47 ページで、提案されているレイアウトがよくわかりません。(2 つの placeChangeHandler ? アクティビティ マネージャーごとに 2 セットの widgetList ? 誰かが親切に説明してくれますか?

e) 誰でもgwt-slの経験を共有できますか (サーバー側の春の統合のため?)

すべてのgwtグルに事前に感謝します

0 投票する
1 に答える
1341 参照

gwt - RequestFactory と Objectify の使用中に発生する奇妙な例外

Google IO gwtgae2011の例を見て、うまくいきました。プロジェクトにいくつかの機能を追加しようとしましたが、サーバーから常に例外が発生し (onFailure メソッドが呼び出されました)、スタックトレースは

Sketch2 というクラス Sketch の正確なクローンを作成し、RequestFactory インターフェイスで SketchDao、SketchProxy、および SqetchRequest のクローンを作成しました。

とにかく例外がスローされます。(再コンパイル、再起動、生成されたファイルのクリーンアップを試み、IDEA を使用してみました - 同じ問題) なぜこれが起こっているのですか?

0 投票する
1 に答える
918 参照

gwt - GWT の requestfactory および findEntity メソッド

RequestFactory を使用しようとしています。私の ORM プロバイダーは JPA です。findAll() というエンティティのリストを取得するメソッドがあります。ユーザーがエンティティのリストを要求すると、findAll が呼び出されます。Find all は、データベースに対してクエリを実行し、エンティティのリストを返します。ただし、requestFactory がこのリストをユーザーに送り返すように要求されると、requestfactory はリスト内の各エンティティに対して findEntity() を呼び出します。

私の質問は次のとおりです: リスト内の各項目に対して検索エンティティを呼び出さないようにリクエスト ファクトリに指示する方法はありますか?

0 投票する
1 に答える
3815 参照

gwt - GWT RequestFactory を注入する Guice を使用して servletModule を構成する際の問題

GWT 2.3 RequestFactory を使用して、サーバー側で GUICE を使用したいと考えています。ServletModule を次のように拡張するクラスがあります。

そして私が追加したweb.xmlに:

そして、validation-api.XXX.jar を参照しています (GWT の一部であるため)。

(GWT プラグインを使用した Eclipse で) 実行すると、次のように表示されます。

jetty-6.1.x [警告] guiceFilter に失敗しました: com.google.inject.ProvisionException: Guice プロビジョニング エラー:

1) コンストラクターの注入エラー、java.lang.NoClassDefFoundError: javax/validation/ValidationException at com.google.web.bindery.requestfactory.server.RequestFactoryServlet.(RequestFactoryServlet.java:74) at com.djay.eyeandtrack.server.EatServletModule. configureServlets(EatServletModule.java:13) com.google.web.bindery.requestfactory.server.RequestFactoryServlet を見つけながら

1 エラー [警告] コンテキストの起動に失敗しました com.google.apphosting.utils.jetty.DevAppEngineWebAppContext@17b3de2{/,C:\5_DJAY\03_EYEANDTRACK\branches\djaysbox\EyeAndTrack\war} com.google.inject.ProvisionException: Guice プロビジョニングエラー:

1) コンストラクターの注入エラー、java.lang.NoClassDefFoundError: javax/validation/ValidationException at com.google.web.bindery.requestfactory.server.RequestFactoryServlet.(RequestFactoryServlet.java:74) at com.djay.eyeandtrack.server.EatServletModule. configureServlets(EatServletModule.java:13) com.google.web.bindery.requestfactory.server.RequestFactoryServlet を見つけながら

com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:987) で 1 エラー com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1009) で com.google.inject.servlet. ServletDefinition.init(ServletDefinition.java:108) com.google.inject.servlet.ManagedServletPipeline.init(ManagedServletPipeline.java:82) com.google.inject.servlet.ManagedFilterPipeline.initPipeline(ManagedFilterPipeline.java:102) com で.google.inject.servlet.GuiceFilter.init(GuiceFilter.java:172) の org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97) の org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java) :50) org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:662) で org.mortbay.jetty.servlet.Context.startContext(Context.java:140) で org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) で org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) で org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) で org .mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) ) org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) で org.mortbay.jetty.Server.doStart(Server.java:224) で org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle. java:50) com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:186) で com.google.appengine.tools.development.AbstractContainerService で。startup(AbstractContainerService.java:157) at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:169) at com.google.appengine.tools.development.gwt.AppEngineLauncher.start(AppEngineLauncher.java: 119) com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:500) で com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1055) で com.google.gwt.dev.DevModeBase .run(DevModeBase.java:804) at com.google.gwt.dev.DevMode.main(DevMode.java:309) 原因: java.lang.NoClassDefFoundError: javax/validation/ValidationException at com.google.web.bindery .requestfactory.server.ServiceLayer.create(ServiceLayer.java:74) com.google.web.bindery.requestfactory.server.RequestFactoryServlet.(RequestFactoryServlet.java:88) で com.google.web.bindery.requestfactory.server.リクエストファクトリーサーブレット。(RequestFactoryServlet.java:74) com.google.web.bindery.requestfactory.server.RequestFactoryServlet$$FastClassByGuice$$54253391.newInstance() com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor. java:40) com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60) で com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85) で com.google.inject. internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254) com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) で com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java) :1031) com.google.inject.internal.ProviderToInternalFactoryAdapter で。get(ProviderToInternalFactoryAdapter.java:40) at com.google.inject.Scopes$1$1.get(Scopes.java:65) at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40) at com.google .inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978) at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024) at com.google.inject.internal.InjectorImpl$4.get( InjectorImpl.java:974) ... 26 以上 原因: java.lang.ClassNotFoundException: javax.validation.ValidationException at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) java.net.URLClassLoader.findClass(不明なソース) で java.lang.ClassLoader.loadClass(不明なソース) com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:176) at java.lang.ClassLoader.loadClass(Unknown Source) ... 42 詳細

私はおそらく何かが欠けていますが、どこを見ればいいのかわかりません...ありがとう

0 投票する
1 に答える
1990 参照

gwt - ドライバーと RequestFactory を備えたエディターを使用して GWT CellTable のリスト項目を編集する方法

次のスニペットは、Cats のリストを正常に表示しますが、ドライバーをフラッシュすると、Cat オブジェクトの値はすべて null になります。

猫の家の名前は、期待どおりに編集できます。

これが私がリクエストを作成する方法です。(MobileWebApp サンプル プロジェクトから適応)

taskPersistRequest 変数が起動される直前に調べました。

  • taskPersistRequest.propertyRefs = [catHouse]

  • taskPersistRequest.requestContext には、CatHouse と Cats の正しい値があります。

  • taskPersistRequest.requestData.parameters には、CatHouse の値が 1 つだけあり、Cats に関連するデータはありません。(これが問題のようです

  • コンテキスト内の editProxies 変数には、CatHouse と Cat の正しい値が含まれています。

0 投票する
1 に答える
1086 参照

gwt - Guiceを使用してGWTのサービス層(DAO)クラスにHttpSessionオブジェクトを@Injectする方法は?

私の GWT アプリにはこのような汚いコードがあり、私のサービス層のクラスのいくつかはHttpSessionオブジェクトに依存しています。たとえば、私の DAO の 1 つ (GWT-RPC エンドポイント) には、次のようなものがあります。

問題は、現在 RequestFactory を使用するようにコードを移行していることです。私の DAO は GWT-RPC エンドポイントではなくなります。そのため、RemoteServiceServlet を拡張する必要はありません ...

クラスが RemoteServiceServlet を拡張していないことを知って、HttpSession オブジェクトへの依存関係を(おそらくGuiceを使用して) 取得/注入する方法を知っていますか?

0 投票する
1 に答える
1432 参照

gwt - GWTのRequestFactoryを使用する際のCSRFの防止

GWT-RPCコードを新しいRequestFactoryメカニズムに移植し始めたところです。

クロスサイトリクエストフォージェリ(CSRF)を防ぐために、私のGWT-RPCコードはCookieに保存されているセッションIDを取得し、それをリクエストのペイロードに含めました。それは可能RequestFactoryですか?

findEntity(id_type id);を含む4つの必須のロケーターメソッドがあることを理解しています。だから私は考えています:ああ親愛なる:私は私のセッションIDをどこに置くのですか?