2

私たちの GWT Web アプリケーションでは、すべてを削除したい状態に達し、アプリケーションが停止したという大きな太った警告を表示するだけです。

それを行う方法を理解することはできません。基本的に必要なものは次のとおりです。

  • GWT にすべての処理を停止させ、既存の RPC メッセージを中止させる
  • 登録されたすべてのイベントを強制的に非アクティブにする
  • ページから表示されているすべてのコンテンツを消去する
  • 単一の段落/テキストを設定する

簡単に言えば、DOM 全体を削除して、そこに 1 つの段落だけを追加したいのです。

いろいろな組み合わせを試しました

RootPanel.get().clear()

しかし、私たちが達成したいことを行うための信頼できる方法は見つかりませんでした. それを行う方法はありますか?

4

3 に答える 3

1
Window.Location.replace("URL-OF-A-STATIC-HTML") 

Javadoc :

現在の URL を新しいものに置き換えます。すべての GWT 状態が失われます。ブラウザの履歴では、現在の URL が新しい URL に置き換えられます。

GWT アプリを再度有効にしたい場合は、その HTML ページにリンクを張ってください。

于 2013-02-10T00:07:21.003 に答える
1

まず、サーバー アクティビティを取得する必要があります。これは良い習慣であり、アプリケーションを堅牢にします。統一するために、Service の実装に対して行われたすべての要求に対して、適切な例外を指定して応答することをお勧めします。たとえば、ユーザーがアプリケーションへのアクセス権を削除されたときにそれが発生した場合、再ログインまたはその他の承認されたアクションに対して行われたものを除くすべての要求に対して、おそらく何らかのセキュリティ例外をスローする必要があります。

すべてのサービスメソッドで手動で行うか、それを処理するフィルターを使用できます。Spring Security などのフレームワークは、セキュリティ フィルターを構成する簡単な方法を提供します。

サーバー側の作業を完了し、UI がサーバーのセキュリティ レイヤーを通過できないことを確認したら、UI を変更できます。見栄えの良いブロッキング画面を作成するには、さまざまな方法があります。

一般に、コードで次のことを行ってコンテンツを作成し、clear() メソッドを使用してビューポートまたはビューポートからのものを削除できます。更新や再検証は必要ありません。

    Viewport viewport = new Viewport();
    viewport.setLayout(new FitLayout());
    viewport.add(new MainPanel());
    RootPanel.get().add(viewport);

レイアウトがどのようになっているかわかりません。シナリオのコード サンプルを提供できる場合は、必要なことを行う方法を紹介できます。私の例ではうまくいくからです。

于 2013-02-08T17:06:28.893 に答える
0

Cookie に情報を保存するか、フラグを指定します。アプリケーションをロードするたびに、その Cookie が設定されているかどうかを確認し、設定されている場合はメッセージを表示するか、アプリケーションをロードします。アプリケーションを完全に停止したい場合はいつでも、Cookie を設定してアプリケーションをリロードしてください。

于 2013-02-08T17:05:45.073 に答える