web进度条
来源:互联网 发布:驱动人生mac版下载 编辑:程序博客网 时间:2024/04/20 07:58
%@ page contentType="text/html; charset=GBK" %
% session.removeAttribute; %
jsp:useBean id="task" scope="session" /
% task.setRunning; %
% new Thread.start; %
jsp:forward page="status.jsp"/
状态页面:status.jsp
%@ page contentType="text/html; charset=GBK" %
jsp:useBean id="task" scope="session" /
HTML
HEAD
TITLEJSP进度条/TITLE
% if )%
/HEAD
bODY bgcolor=""
H1 ALIGN="CENTER"JSP进度条/H1
H2 ALIGN="CENTER"
结果: %= task.getResult %BR
% int percent = task.getPercent; %
%= percent %%
/H2
TABLE WIDTH="60%" ALIGN="CENTER"
CELLPADDING=0 CELLSPACING=2
TR
% for %
% for %
/TR
/TABLE
TABLE WIDTH="100%" BORDER=0 CELLPADDING=0 CELLSPACING=0
TR
TD ALIGN="CENTER"
% if )elseelse if )else%
% } %
/TD
/TR
TR
TD ALIGN="CENTER"
BR
% if )else%
/TD
/TR
/TABLE
/BODY/HTML
停止页面:stop.jsp
%@ page contentType="text/html; charset=GBK" %
jsp:useBean id="task" scope="session" /
% task.setRunning; %
jsp:forward page="status.jsp"/
业务逻辑bean:TaskBean.java
package progress;
import java.io.Serializable;
/**
* 首先我们设计一个TaskBean类,它实现java.lang.Runnable接口,
* 其run方法在一个由JSP页面(start.jsp)启动的独立线程中运行。
* 终止run方法执行由另一个JSP页面stop.jsp负责。
*
* TaskBean类还实现了java.io.Serializable接口,
* 这样JSP页面就可以将它作为JavaBean调用
* */
public class TaskBean
implements Runnable, Serializable
/**
* TaskBean包含的“繁重任务”是计算1+2+3…+100的值,
* 不过它不通过100*/2=5050公式计算,而是由run方法
* 调用work方法100次完成计算。work方法的代码如下所示,
* 其中调用Thread.sleep是为了确保任务总耗时约10秒。
* */
protected void work
catch
}
status.jsp页面通过调用下面的getPercent方法获得任务的完成状况:
public synchronized int getPercent
如果任务已经启动,isStarted方法将返回true:
public synchronized boolean isStarted
如果任务已经完成,isCompleted方法将返回true
public synchronized boolean isCompleted
如果任务正在运行,isRunning方法将返回true:
public synchronized boolean isRunning
/**
* SetRunning方法由start.jsp或stop.jsp调用,
* 当running参数是true时。SetRunning方法还要将任务标记为“已经启动”。
* 调用setRunning表示要求run方法停止执行。
* */
public synchronized void setRunning
}
任务执行完毕后,调用getResult方法返回计算结果;如果任务尚未执行完毕,它返回null:
public synchronized Object getResult
else
}
/**
* 当running标记为true、completed标记为false时,
* run方法调用work。在实际应用中,run方法也许要
* 执行复杂的SQL查询、解析大型XML文档,或者调用消耗大量
* CPU时间的EJB方法。注意“繁重的任务”可能要在远程
* 上执行。报告结果的JSP页面有两种选择:或者等待任务结束,或者使用一个进度条。
* */
public void run
}
finally
}
}
- web进度条
- WEB进度条
- Web 进度条
- web进度条
- web进度条
- WEB应用程序中的进度条
- 再看WEB页面进度条!
- 仿web进度条
- 实用的Web进度条
- 实用的Web进度条
- 实用的Web进度条
- 实用的Web进度条
- WEB应用程序中的进度条
- WEB应用程序中的进度条
- 实用的Web进度条
- WEB应用程序中的进度条
- 制做Web实时进度条
- asp.net web进度条
- .NET ISSUES Solve Log (1)
- Android bound service 详解一:基础
- 杭电1719 简单数学题
- ie6 ie8不兼容问题
- Struts1和Struts2的比較
- web进度条
- JSON与AJAX数据Web之无刷新处理
- JSP编程进度条设计实例
- AJAX 和 JSP 10.5(转)实现进度条【转】
- wxsqlite3 加解密2
- opencv中用Sobel算子进行边缘检测
- 杭电 2036
- douzi
- douzi