2012-03-29 4 views
0

Ich habe eine Klasse in Java. Die Klasse enthält einige Funktionen. Jede Funktion druckt ihr Ergebnis in Ausgabe. basierend auf der wie die Funktion initiieren die Ausgabe in Konsole oder Webseite schreiben. meine Klasse wie so etwas wie die folgende Klassezeigt das Ergebnis der langfristigen Aufgabe in 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() +" ]."); 
     } 
    } 

so der Hauptcode verwendet diese Klasse für eine Art von Datenbank zu einem anderen Art von Datenbank konvertieren. Darüber hinaus druckt DBBuilder möglicherweise 5000 Zeilen in der Ausgabe. Alles ist in der Konsole OK, aber in der Webanwendung verwende ich Ajax von Jquery, das Ergebnis wird erst angezeigt, wenn der Konvertierungsmechanismus das Ende des Flusses erreicht. Wenn es bis zum Ende reicht, erscheint die gesamte Ausgabe auf der Webseite.

Gibt es eine Möglichkeit, wie Web-Anwendung wie Konsolenanwendung zu handeln. Ich meine, wenn die Druckmethode aufgerufen wird, wird das Ergebnis auf der Webseite von Ajax angezeigt.

Antwort

0

Wenn Sie Inhalt auf ein Objekt rendern, indem Sie die jquery-Methode aufrufen, gibt es keine Möglichkeit, Zeile für Zeile wie console zu reagieren, außer das Ausgabeobjekt für jede einzelne Zeile zu aktualisieren. Der einzige Weg wäre, den Parameter einfach zu senden und die Antwort zeilenweise mit Ajax in einer Schleife zu empfangen.