2012-03-29 9 views
0

私はJavaでクラスを持っています。クラスにはいくつかの関数が含まれています。各関数はその結果を出力します。 は、どのようにコンソールやWebページで出力を書き出すかに基づいています。次のクラスのようなものAjaxでの長期的なタスクの結果を表示

public class DBBuilder 
    { 
     private static DBBuilder _obj; 

     private PrintWriter out; 
     public static DBBuilder Initiate(PrintWriter output) 
     { 
     obj = new DBBuilder(); 
     obj._out = output 
     } 
     public static DBBuilder Initiate() 
     { 
     } 

     private void Print(String Message) 
     { 
     if(_out == null) 
       System.out.println(Message); 
     else 
       _out.println(Message); 
     } 
     public void DoSomething() 
     { 
      //some code 
      this.Print("Create Node [ "+ n.getNodeID() +" ]."); 
     } 
    } 

データベースの他のタイプのデータベースの種類を変換するので、メインコードの使用このクラスのように私のクラス。さらに、DBBuilderは5000行の出力を出力することがあります。すべてがコンソールでOKですが、WebアプリケーションではAjaxをJqueryで使用していますが、変換メカニズムがフローの最後まで到達するまで結果は表示されません。それが終わりに達すると、出力の全体がWebページに表示されます。

Webアプリケーションがコンソールアプリケーションのように動作する方法はありますか。つまり、PrintメソッドがAjaxによってWebページに表示される結果を呼び出すときです。

答えて

0

jqueryメソッドを呼び出してコンテンツをオブジェクトにレンダリングする場合、出力オブジェクトを1行ごとに更新しない限り、コンソールのように1行ずつ応答する方法はありません。唯一の方法は、単純にパラメータを送信し、ループ内でajaxを使用して1行ずつリスペンスを受信することです。

関連する問題