0

URLを介してサーブレットを呼び出すアプリケーションがあります

> "http://server:port/context-root/myservlet"

次に、サーブレットはJavaクラスを呼び出し、クエリ結果をサーブレットに返します。サーブレットは、JSPページ(response.redirect)を介してデータをユーザーにレンダリングします。

これがすべて発生すると、JSPページでデータを表示する準備ができるまで、ページを表示できませんがユーザーに表示されます。

サーブレットが呼び出されたらすぐに、JSPページに必要なすべてのデータが読み込まれるまで、読み込み中のgifまたはメッセージを表示するにはどうすればよいですか。

注:前述のように、最初にサーブレット、次にJavaクラス、次にJSPを呼び出しています。

4

1 に答える 1

0

@Sankalp - 呼び出し元のアプリケーション (HTML ページ) は、サーブレットへの AJAX 呼び出しを行う責任があります。呼び出し元のアプリケーションを制御できない場合は、ここでできるちょっとしたトリックがあります。呼び出し元のアプリケーションに、アプリケーションの index.html ファイルなどの html ファイルにリダイレクトするように依頼します。index.html ファイルで、jQuery JavaScript ライブラリをエクスポートし、適切な ajax 呼び出しを行い、読み込みイメージを表示します。成功すると、ページを目的の jsp にリダイレクトできます。ここでは、やるべきことがたくさんあります。

質問: 呼び出し元のアプリケーションからパラメータが渡されますか? それはあなたにデータを投稿しますか?あなたのアプリケーションは、呼び出し元のアプリケーションの IFRAME で開きますか、それとも純粋なリダイレクトですか?

これらすべての回答は、次の行動方針を決定するのに役立ちます。AJAX 呼び出しに関する投稿や、スタック オーバーフローでの画像の表示に関する記事はたくさんありますが、それでは本質的な問題は解決しません。フローと AJAX コードを配置する場所を決定する必要があります。AJAX の部分が最も簡単です。:) ----- 最後のコメントの後の編集

訪問:jQuery

あなたのHTMLで

  <html>
    <head>
     <script src="jquery.min.js"></script> <!-- where you keep your resource file -->
      <script language="javascript" type="text/javascript">
       $(document).ready(function() { //This call will be made when DOM 
            //hierarchy has been fully constructed
            // Handler for .ready() called.
            //Make AJAX Call here so that this simple HTML page 
            ///directly calls the AJAX
            // and decide the future action based on AJAX success / failure
       }); 
      </script>
    </head>
    <body>
    </body>
  </html>
于 2013-02-17T07:40:57.097 に答える