問題タブ [gwt-gin]

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 に答える
307 参照

gwt - すべてのプレゼンターにユーザー クラスを追加する

私は GIN について漠然とした理解を持っていますが、プレゼンターの挿入などで機能しています。

現在ログインしているユーザーを取得するために、すべてのプレゼンターに自作の「ユーザー」クラスを挿入しようとしています。

User クラスのコンストラクターに @Inject を追加し、GIN モジュールに User を追加しましたが、それ以外は完全に迷っています。それを自分のアプリ プレゼンターにバインドしますか (試してみましたが、ユーザーが AppPresenter を拡張しないため、エラーが発生します)。シングルトンとして?これは、このデータを渡す正しい方法ですか?

私はこれをここに投稿するのは嫌いですが (無料の宿題を探しているわけではありません)、これに関するまともなチュートリアル/例を他のどこにも見つけることができません。

よろしくお願いします。

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

gwt - Gwt-ディスパッチインジェクション

gwt-dispatchを使用するには、次のようなオブジェクトを作成します。

インジェクションでこれを行う方法はありますか?つまり、このDispatchAsyncオブジェクトを使用する必要がある他のクラスにインジェクションする方法です。

これは@Injectアノテーションに関連するものです!

0 投票する
3 に答える
4374 参照

gwt - EventBusGWTの注入

イベントバスをコンポーネントに挿入しようとしていますが、「デフォルト(引数がゼロ)のコンストラクターがありません」というメッセージが表示されます。エラー。私が間違っていることの手がかりはありますか?GINは非常に新しいので、些細なことかもしれません。

これが私のコードです:

モジュール:

インジェクター:

そして私が注入しようとしているコンポーネント:

このエラーログが表示されます。

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

gwt - GWT GIN HOW TO:リモートサービスの注入

ginチュートリアルは、リモートサービスを注入するために必要なのは、注釈を付けることだけであることを示唆しているようです@Inject

これをモジュールのどこかで定義する必要がありますか、それとも注釈を付けるだけで@Inject機能するポイントですか?

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

gwt - 依存性注入をいつどのように使用するかに関するGWTMVP

MVPパターンとGWTを使用していますが、依存性注入をいつどのように使用する必要があるのか​​疑問に思っています。

アプリコントローラー、プレゼンター、ビュー、モデルコードがあります。http://code.google.com/p/google-gin/wiki/GinTutorial#whbでGINチュートリアルを読むと、可能な限り最高レベルで使用する必要があるように思われます(App Controllerで)。

プレゼンターを作成するためにそれを使用する必要があるので、injector.getPresenter();を実行できます。

0 投票する
3 に答える
847 参照

gwt - ANT で GUICE を使用して GWT プロジェクトをコンパイルする

ソースを正常にコンパイルできますが、この ant タスクを実行すると、次のようになります。

次のエラーが表示されます。

GUICEバインディングは自動であるはずですが、それを修正する方法はありますか?

0 投票する
2 に答える
943 参照

java - アプリケーションの起動時に利用できないログインユーザーのような「ランタイム」依存関係を注入するにはどうすればよいですか?

私はこれを取得していません:

私はJavaGWTアプリでGinを使用してDIを実行しています。ログイン画面は、アプリケーションウィンドウ全体に統合されています。ユーザーがログインした後、作成したGUIプレゼンターなどの他のクラスにユーザーオブジェクトを挿入したいので、実行時の依存関係があると思います。それ、どうやったら出来るの?

私が考えることができる1つの解決策は次のようなものです:

したがって、ユーザーが正常にログインし、オブジェクトを持っている場合、静的プロパティを設定しますが、これは、ユーザーがログインした後に作成されたLoggedInUserFactory場合にのみ機能しますが、そうではありません。Presenter

または、グローバル静的レジストリを使用する必要がありますか?クラスに静的な依存関係があるという考えは好きではありません。

どんな入力でも大歓迎です。

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

gwt - ui:binderによって作成されたウィジェットへのGINインジェクションを備えたSpring ROO GWT

ui:binderコンポーネント内のいくつかのオブジェクトにアクセスしようとしていますが、夜に目を覚まし続ける厄介なコードを記述せずにeventBus、requestFactoryなどにアクセスする方法がわかりません(また、私は完全に新しいことに注意してくださいJAVA、背景はPerl / Python / PHPにあります)。

私のui.xmlファイル:

この方法でeventBusを挿入すると、com.ig.client.scaffold.ui.widget.Rで失敗します。デフォルト(引数ゼロ)のコンストラクターはありません。

したがって、エラーメッセージに従って、UIFactoryを作成すると、エラーが発生します...'{style.entityComponent}'>必要な属性がありません:eventBus Element ...( ui:binderスタイルシートのeventBus。

過去数日間の読書と読書、さらに読書から、ui:binderウィジェットにバインドするビューでeventBus、requestFactory、historyControllerに直接アクセスする人を見たことがないため、おそらくベストプラクティスではないという結論に至りました。とりあえず。

オブジェクトがあるとしましょう。それをプロキシと呼びましょう。プロキシにはhandleButtonClickが含まれており、これがeventBus.doSomething()を呼び出します。このプロキシオブジェクトをインスタンス化することなく、またはすべてのウィジェットに渡すことなく、ui:binderウィジェットにリンクするにはどうすればよいですか?

インターフェイスでGINインジェクションを実行し、クラスRを介してそのインターフェイスを実装することは可能ですか?クラスRには、探しているオブジェクトが含まれていますか?

基本的にフロントエンドをROOによって作成された残りのサービスに接続できるサンプル(Java n00bが理解できる)を探すだけで、機能するソリューションはどれでも歓迎されます。

ありがとうJ

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

gwt - GIN と GWT: View でプレゼンテーション レイヤーをバインドする

GWT ビューをそのプレゼンテーション層にバインドしようとしていますが、何もしていないようです。

これは Spring Roo GWT によって生成されたプロジェクトであり、指定された scaffold を可能な限り使用しようとしています。ビューは単純なボタン (R.ui.xml) で、残りのビューは R.java で定義されています。

発表者:

私の GIN モジュールでは、生成された ScaffoldModule を ...client.scaffold.ioc パッケージで使用します。

GWT 開発モード コンソールでは、「ScaffoldModule configure」は表示されませんが、バインドが魔法のように別の場所で発生し、それが停止しない限り、イベントがコンポーネントからコンポーネントへ問題なく渡されるため、生成されたスキャフォールドは正常にバインドされているように見えます。コード。

bind(RPresenter.Display.class).to(R.class) を入れると、バインディングが行われないようです。GWTコンソールで得られる唯一の出力は、ビューで呼び出される「ボタンがクリックされました」であり、それ以上は何もありません。私は明らかに何かが欠けています、何かアイデアはありますか?

0 投票する
2 に答える
1296 参照

gwt - GWT&GIN:UIBinderを使用してPlaceControllerをウィジェットに挿入する方法

UIBinderで使用したInlineLabelサブクラスがあります。ウィジェットをUIBinderで使用できるように、GINを介してPlaceControllerを挿入するにはどうすればよいですか?(UIBinderには引数なしのコンストラクターが必要であることを思い出してください。)

それが不可能な場合、PlaceControllerをウィジェットで使用できるようにして、onClick()イベント中にウィジェットで使用できるようにする最もクリーンな方法は何ですか?

編集:

この場合、MVPが本当に最善の解決策であるかどうかはわかりません(ただし、考えを変えていただければ幸いです)。

UIBinderfoo.ui.xmlファイルでこれらのInlineLabelインスタンスを数十個宣言します。MVPを実装する場合、これは、これらの各インスタンスをビューで@UiFieldメンバーとして宣言することを意味します。私がそれらをたくさん持っているとき、それはかなり扱いにくいものになります。そのため、PlaceControllerを各InlineLabelに半自動で挿入し、手動でビューに接続する必要がないようにしたいと考えていました。

プレゼンターを各InlineLabelsに挿入する方法があれば、それも受け入れられます...その場合、委任は次のように実行できます。