問題タブ [gwt-mvp]
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.
gwt - GWT RunAsync - リリース モードでの奇妙な動作
この質問で示唆されているようにGWT - 場所/アクティビティ/マッパーを使用しているときにコード分割をどこで使用する必要がありますか? 、アクティビティをネストするために ActivityProxy を作成しました。
このhttp://code.google.com/p/google-web-toolkit/issues/detail?id=5129 (6 番目のコメント)に基づいて実装し、1 つの変更を加えました。GWT を呼び出す前にプロバイダーのチェックを追加しました。 .RunAsync:
しかし、何らかの理由で、これはリリース モードでは機能しません。onFailure メソッドは呼び出されませんが、最初に使用したときにアクティビティが表示されません。場所をリロードすると、すべてが正常に表示されます。
次に、次のことを行うと問題が解決することに気付きました。
それで、なぜそれが機能するのか理解できなくても、私はすべての活動にそれを使い始めました.
ActivityProxy にジェネレーターを使用することにしたとき (アクティビティごとにプロバイダーを作成するのを避けるため)、再び問題に遭遇しました。シンタックスはGWT.create(ActivityProxy).wrap(MyActivity.class);
基本的に、生成されたコードは次のようになります。
そして、同じ問題が発生します。私のアプリは、最初にアクティビティを使用したときにアクティビティを表示できません。
とても単純な質問です。「なぜ?」
gwt - GWT アクティビティとエディター フレームワーク
私は、GWT MVP フレームワーク + GWT Editors フレームワークを使用していくつかの小さなプロジェクトに取り組んできました。次のように宣言されたフィールドを持つ Views インターフェイスがあります。
ビューの実装は次のようになります。
私のアクティビティには、対応するビューへの参照があり、(アクティビティで)次のようなことをしなければならない場合:
にキャストする必要があります
その後、このユニットをテストすることはできません。私のテストでは、結果としてMock(IsEditor<ValueBoxEditor<Long>>)
を返すように View の動作を定義しているためです。view.getFiled()
キャストを行わずにActivityからViewsコンポーネントのメソッドを呼び出すベストプラクティスは何ですか?
gwt - ビューを「謙虚」に保つ方法-特別なOracleとSuggestionでSuggestBoxを使用する
自分のSuggestionOracle( "AuSuggestOracle")と自分のSuggestions( "AuMultiWordSuggestion")を実装する方法を学びました。私の場合、提案オブジェクトはDTOで構成されています。選択イベントでは、適切に反応するためにこのdto(またはその一部のフィールド)が必要です。この特別なオラクルとそれらの間のいくつかのロジックを使用して、3つの提案ボックスを含むウィジェットを実装しました。今、私はMVPパターンを適用したいと思います-このウィジェットをプレゼンターとビューで分割します。現時点では、プレゼンターの表示インターフェイスは次のようになっています。
問題は、「AuSuggestOracle」を返すメソッドのモデルに関する暗黙知です。だから私の質問は、ビュー/インターフェイスを「謙虚」にする方法です。私の場合、表示される提案文字列はあいまいであり、どのDTObjectが選択されているかを知るには、少なくとも選択されたアイテムの「id」が必要です。
gwt - GWT ActivityMapper ボイラープレートの削除
私は GWT のアクティビティと場所のフレームワークを使用してアプリケーションを構築していますが、順調に進んでいます。私を悩ませているのは、ActivityMapper
実装が (1) アプリケーション内のすべてのビューを受け取る (2) 受け取った場所に基づいてアクティビティをインスタンス化するための巨大な if/else ブロックを含むことです。閲覧数が増えれば増えるほど悪くなる。
私はすでにGinを使用していますが、ここでどのように使用できるかわかりません。
からボイラープレートを削減または削除するにはどうすればよいActivityMapper
ですか?
gwt - GWTMVP-互いに分離された複数のディスプレイを維持する
私はGWTアプリを持っており、プレイス/アクティビティでGWTMVPを使用しています。
私のアプリケーションのレイアウトは次のようなものです
メニュー| コンテンツ
メニューとコンテンツの表示は動的に変化し、一方が他方とは別に変化します。これが意味するのは、コンテンツの表示が変更されたときに、メニューの表示を更新する必要がないということです。その逆も同様です。両方のディスプレイは、PlaceChangeEventsに応答し、これらが発生したときに自分自身を更新できる必要があります。問題は、各ディスプレイが特定のPlaceChangeEventsに応答してのみ更新され、他のディスプレイに向けられたPlaceChangeEventsを無視することです。ただし、これは「標準」のGWT MVPパターンでは機能しません。これは、各ディスプレイに独自のActivityManagerがある場合でも、単一のEventBusをリッスンする単一のPlaceControllerがあるため、すべてのPlaceChangeEventsが自動的に取得されるためです。これを行うために私が見ることができる唯一の方法は、2つのEventBusを持つことです。■および2つのPlaceController-1つはメニュー用、もう1つはコンテンツ用です。だから私の質問は、これが良い解決策なのか、それとも私が見逃しているより簡単でより良い方法があるのかということです。このソリューションの問題の1つは、PlaceHistoryHandlerを登録できるのはEventBusの1つだけであるということです。
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グルに事前に感謝します
rest - [SPRING MVC] または [GWT + MVP] (および spring ROO を使用) を使用して REST アーキテクチャを作成するための賛否両論?
私がこの質問をしているのは、Roo には SPRING MVC と GWT が含まれていることがわかったからです...しかし
- GWT (その Web サイト) には MVP パターンの例が示されていますが、SPRING MVC フレームワーク (実際には Spring MVC) と比較することはできないと思いますより多くの機能があります.私はそれを使用したことはありません...しかし、ウェブサイトを作成するのに非常に役立ち、RESTアーキテクチャを簡単に作成できることを読みました.. .
これらのテクノロジーのどちらかを選択するのを手伝ってもらえますか (GAE でアプリを開発したいので、携帯電話バージョンも必要になることに注意してください) ?
gwt - GWT: RPC と MVP と Place Tokenizer
GWTのMVPアーキテクチャでの最初の試みを始めたところです。
私の理解では、 の仕事は、ハッシュの後に URL 内のトークンを取得し、それを解析して、そのトークンが参照するオブジェクトと共にPlaceTokenizer.getPlace(String)
a を返すことです。Place
私のアプリケーションには、ビデオの一意の ID でトークン化するリソース (ビデオなど) があります。次に、私のgetPlace
メソッドはこの ID を取得し、サーバーからビデオ情報を取得する必要があります。これは正しいアプローチですか?
これを実行する方法に関しては、私が理解できる唯一の方法は、 で自分のRemoteService
権利を持ち、そのメソッドPlaceTokenizer
で正しく呼び出すことです。getPlace
これについて何かが私を躊躇させました。この呼び出しは、または他の場所により適しているようActivity
です。
これがそのやり方ですか?そうでない場合、より良い方法はありますか?
events - イベントの登録、送信、受信、および活動/場所の順序に関する問題
アクティビティ/場所と MVP を使用した最初の独自の例を完成させました。すべて正常に動作しますが、(別の場所から) 場所に戻ると、一部のイベントが適切に送受信されません。しかし、この場所がデフォルトの場所として設定されている「moduleLoad」では、すべて正常に動作します。場所/アクティビティが moduleLoad で開始された場合 (historyHandler = new PlaceHistoryHandler(historyMapper); historyHandler.register(placeController, eB, defaultPlace); historyHandler.handleCurrentHistory();) または placeController を介して開始されても、違いはないと思います。 goTo(場所); 、そうすべきですか?
デバッグを介して、イベント登録、イベント送信、イベント受信の順序を確認しました(すべてアクティビティの開始(...)で実行されます)。問題は、 start() が goTo(place) を介して実行された場合、すべてのレシーバーがイベントを受信しないことです (登録と送信は正常に機能します)。しかし、イベントが start() の後または start() 内で送信され、moduleLoad で実行された場合は、すべて正常に動作します。
私の活動の開始は次のようになります。
(開始時にこのイベントを送信するユースケースは、何も選択されていないと言いたい - イベントのペイロードが null である)
問題は、goTo 経由で start() が呼び出された場合、プレゼンターの onSelected メソッドもアクティビティの onSelected メソッドも呼び出されないことです。ただし、すべての場合 (デバッガーで確認) で、イベントの登録は送信前に発生します。私は何をすべきか?