Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->编程语言 ->JAVA/JSP教程 ->正文

jsp进度条

来源:Linuxdby.com 作者:Webmaster 时间:2007-06-03 点击: [收藏] [投稿]

开始页面:start.jsp

<%@ page contentType="text/html; charset=GBK" %>
<% session.removeAttribute("task"); %>

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

<% task.setRunning(true); %>

<% new Thread(task).start(); %>

<jsp:forward page="status.jsp"/>

状态页面:status.jsp

<%@ page contentType="text/html; charset=GBK" %>
<jsp:useBean id="task" scope="session" class="progress.TaskBean"/>
<HTML>
  <HEAD>

  <TITLE>JSP进度条</TITLE>

  <% if (task.isRunning()) { %>

    <script type="" LANGUAGE="JavaScript">

      setTimeout("location='status.jsp'", 1000);

    </script>

  <% } %>

</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 (int i = 10; i <= percent; i += 10) { %>

        <TD WIDTH="10%" height="10" BGCOLOR="red"> </TD>

      <% } %>

      <% for (int i = 100; i > percent; i -= 10) { %>

        <TD WIDTH="10%"> </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>
<TR>

      <TD ALIGN="CENTER">

        <BR>

        <% if (task.isRunning()) { %>

          <FORM METHOD="GET" ACTION="stop.jsp">

            <INPUT TYPE="SUBMIT" ="停止">

          </FORM>

        <% } else { %>

          <FORM METHOD="GET" ACTION="start.jsp">

            <INPUT TYPE="SUBMIT" ="开始">

          </FORM>

        <% } %>

      </TD>

    </TR>

  </TABLE>

</BODY></HTML>

停止页面:stop.jsp

<%@ page contentType="text/html; charset=GBK" %>
<jsp:useBean id="task" scope="session" class="progress.TaskBean"/>

<% task.setRunning(false); %>

<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负责。
 * http://blog.linux-cn.com/
 * TaskBean类还实现了java.io.Serializable接口,
 * 这样JSP页面就可以将它作为JavaBean调用
 * */
public class TaskBean
    implements Runnable, Serializable {

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:JSP中include指令和include行为区别   下一篇:jsp的八个隐含对象

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号