サーブレット+DB、JSPでプログラムをしています。
以下の質問(CGIが対象です)
http://www.okweb.ne.jp/kotaeru.php3?q=173368
と似たようなことを、JSPで行うにはどうしたらよいでしょうか。
サーブレットの処理中(長い処理)に、「処理中」のメッセージを表示して、終了したら完了ページに飛ばしたいのです。
「処理中」の表示はJSPでもJavaScriptでも、サーブレットから直接出力しても構いません。
さらに言えば、サーブレットではfor文で処理を回しているので、「○%完了」などが表示できたら最高です。
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
一度クライアントに返されてしまった表示を書き換えるとなるとJavaScriptを使わなくちゃだめかもしれませんね。
もしくは
[i]を表示するJSP(or HTML)
↓
適当な時間を待って自動的にserverに通信
if(処理が終わっていない){
[i+1]を表示するJSP(or HTML)
}else{
//処理が終わっていれば
処理終了を表示するJSP(or HTML)
}
というのを繰り返せばできるのではないでしょうか。
No.2
- 回答日時:
こういう感じのことでしょうか...
JSPの動く環境でやってみてください。
<HTML>
<%
for(int i=0;i<10;i++){
out.write(String.valueOf(i)+"<BR>");
out.flush();
Thread.sleep(2*1000);
}
%>
</HTML>
遅くなりました。ありがとうございます。
やってみましたが、おもしろいですね。
ただ、1,2,3・・・と出るのではなく、1⇒2⇒3・・・と切り替わってほしいのですが。
他の件で使えそうなので、参考にさせていただきます。
No.1
- 回答日時:
掲示板の書き込みのような処理は、基本的に以下の流れ(画面遷移ベース)
で実行することが多いです。
書き込み画面 ⇒ 処理実行画面 ⇒ (実行終了画面) ⇒ 処理後に遷移したい画面
ここで重要なのは『処理実行画面』です。
この画面の基本構成は…
・処理実行部分(ここをJSPで記述する)
・処理中表示部分(HTMLでOK)
の2つになります。
処理が終了したら、表示を『処理終了』とするか、処理終了画面に遷移させればよいのです。
○%完了の表示は、処理実行部分のfor文の中でパーセンテージ計算をし、
out.print なり何なりで%の数値の部分だけを書き換えれば
良いかと思います。
大雑把ですが、こんなイメージで設計してみれば良いかと思いますよ。
早速の回答ありがとうございます。
実行画面(「実行中です・・・」)のHTMLを出力したあとで、処理を続ける、というのは可能なのでしょうか。(並行処理ということですよね)
処理が終わった後にHTMLを出力する、という一般的なものしか知らないもので・・・
JSPでは、HTML部分は先に表示され、JSPのタグのメソッド部分(この場合、繰り返し処理を実行するメソッド)は完了まで稼動を続けている、という解釈で合っているのでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java 問題作成のWebアプリの作り方を教えてください 1 2022/11/26 22:01
- Excel(エクセル) エクセルVBA マクロ処理中のポップアップメッセージについて 1 2023/08/04 21:34
- Excel(エクセル) Excelのマクロについてご教授ください 2 2023/02/25 09:43
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- 電子マネー・電子決済 モバイルSuica解約 モバイルSuica定期券の退会が処理完了してもおサイフケータイアプリの交通系 2 2023/04/10 08:30
- Visual Basic(VBA) VBA ステータスバー DoEvents 1 2023/03/30 12:22
- Visual Basic(VBA) ExcelVBAの複数指定範囲の構文 2 2022/05/26 22:39
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ラベルの表示までが異常に遅い...
-
jqueryのmouseenterイベントの...
-
Javaでのデバッグコード削除
-
JavaScriptからJAVAクラスを呼...
-
switch文の中に、throws new Ex...
-
チェックボックスの入力チェッ...
-
無限ループ中におけるマウスイ...
-
JAVAにおける画像のJPEG保存の...
-
Servletのスレッドを終了させたい
-
Javaの再帰でメソッド呼び出す...
-
エクセルVBAで、条件に一致する...
-
EXCEL VBAにて動的にCheckBOXを...
-
「タイプ初期化子が例外をスロ...
-
public static void main (Stri...
-
Labelコントロールに数字を代入...
-
C# 点の描き方をおしえてくだ...
-
private static という変数の修飾
-
mainメソッドのthrows節で設定...
-
final修飾子を使っているのに、...
-
DataGridViewでセルクリックイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
tryの終了
-
数値の定数を付ける時
-
Javaでのデバッグコード削除
-
C#で別スレッドの終了を知りたい
-
[Java] while(true)の意味
-
Tomcatのスレッドを破棄する方法
-
Javaプログラムからポップアッ...
-
JavaScriptからJAVAクラスを呼...
-
ラジオボタンの選択判定
-
素数判定を再帰処理で
-
PHPでDB処理中にプログレスバー...
-
Javaアプリケーション実行の返...
-
WPF C#でF10のイベント取得方法...
-
switch文の中に、throws new Ex...
-
doGetとdoPostの違い
-
Tomcat高負荷時の設定について
-
JDBCでテーブルUPDATE後の再検...
-
ラベルの表示までが異常に遅い...
-
ExcelVBA で文字列の特定の文字...
-
SwingUtilities.invokeLater(ne...
おすすめ情報