程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> JSP編程進度條設計實例(2)

JSP編程進度條設計實例(2)

編輯:關於JSP

  如果任務已經啟動,isStarted()方法將返回true:


public synchronized boolean isStarted() {
    return started;
}
 


  如果任務已經完成,isCompleted()方法將返回true:


public synchronized boolean isCompleted() {
    return counter == 100;
}
 


  如果任務正在運行,isRunning()方法將返回true:


public synchronized boolean isRunning() {
    return running;
}



  SetRunning()方法由start.jsp或stop.jsp調用,當running參數是true時。SetRunning()方法還要將任務標記為“已經啟動”。調用setRunning(false)表示要求run()方法停止執行。


public synchronized void setRunning(boolean running) {
    this.running = running;
    if (running)
        started  = true;
}
 
  任務執行完畢後,調用getResult()方法返回計算結果;如果任務尚未執行完畢,它返回null:


public synchronized Object getResult() {
    if (isCompleted())
        return new Integer(sum);
    else
        return null;
}
 
  當running標記為true、completed標記為false時,run()方法調用work()。在實際應用中,run()方法也許要執行復雜的SQL查詢、解析大型XML文檔,或者調用消耗大量CPU時間的EJB方法。注意“繁重的任務”可能要在遠程服務器上執行。報告結果的JSP頁面有兩種選擇:或者等待任務結束,或者使用一個進度條。


public void run() {
    try {
        setRunning(true);
        while (isRunning() && !isCompleted())
            work();
    } finally {
        setRunning(false);
    }
}


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved