当前位置: 首页 > 图文教程 > 网络编程 > JSP > JSP编程进度条设计实例(4)

JSP
关于seeion的文章
jsp与javaBeans的结合使用
使用JavaBean,一句代码完成对文本文件读取和写入!!!
利用HttpSessionListener实现网站在线人数统计功能
第一章:taglib 原理和实现
用web_xml控制Web应用的行为(上)待徐
Taglib 原理和实现:第三章 tag之间的嵌套和属性读取
Taglib 原理和实现:第四章 循环的Tag
学习笔记:ServletContext接口
checkbox的使用
DelphiBBS的JSP实现(未经授权).
可以自动跳转到出错页面的servlet/jsp框架
学用Java Web Start 部署应用程序
Web页面数据批量录入----使用上传组件与JXL工具包联合实现
使用jsp实现word、excel格式报表打印
JSP页面查询显示常用模式
使用XML封装数据库操作语句的实现(完全版)--发布源码
深入浅出taglib
用Java实现Web服务器
如何利用xml,javascript绕开applet的安全问题

JSP编程进度条设计实例(4)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-04   浏览: 59 ::
收藏到网摘: n/a

  三、任务进度


  status.jsp页面利用一个HTML进度条向用户显示任务的执行情况。首先,status.jsp利用<jsp:useBean>标记获得start.jsp页面创建的Bean对象:


<jsp:useBean id="task" scope="session"
    class="test.barBean.TaskBean"/>


  为了及时反映任务执行进度,status.jsp会自动刷新。JavaScript代码setTimeout("location='status.jsp'", 1000)将每隔1000毫秒刷新页面,重新请求status.jsp,不需要用户干预。


<HTML>


<HEAD>
    <TITLE>JSP进度条</TITLE>
    <% if (task.isRunning()) { %>
        <SCRIPT LANGUAGE="JavaScript">
            setTimeout("location='status.jsp'", 1000);
        </SCRIPT>
    <% } %>
</HEAD>


<ODY>


  进度条实际上是一个HTML表格,包含10个单元——即每个单元代表任务总体的10%进度。


<H1 ALIGN="CENTER">JSP进度条</H1>


    <H2 ALIGN="CENTER">
        结果: <%= task.getResult() %><BR>
        <% int percent = task.getPercent(); %>
        <%= percent %>%
    </H2>


    <TABLE WIDTH="60%" ALIGN="CENTER"
            BORDER=1 CELLPADDING=0 CELLSPACING=2>
        <TR>
            <% for (int i = 10; i <= percent; i += 10) { %>
                <TD WIDTH="10%" BGCOLOR="#000080">&nbsp;</TD>
            <% } %>
            <% for (int i = 100; i > percent; i -= 10) { %>
                <TD WIDTH="10%">&nbsp;</TD>
            <% } %>
        </TR>
    </TABLE>
 
  任务执行情况分下面几种状态:正在执行,已完成,尚未开始,已停止:


<TABLE WIDTH="100%" BORDER=0 CELLPADDING=0 CELLSPACING=0>
        <TR>
            <TD ALIGN="CENTER">
                <% if (task.isRunning()) { %>
                    正在执行
                <% } else { %>
                    <% if (task.isCompleted()) { %>
                        完成
                    <% } else if (!task.isStarted()) { %>
                        尚未开始
                    <% } else { %>
                        已停止
                    <% } %>
                <% } %>
            </TD>
        </TR>