请教各位,
  如果一个大数据量的请求处理,时间会比较长,会出现一段时间的空白,那么如何实现在这段时间内显示一个"正在处理.."页面,等请求处理完毕后,再显示应显示的结果界面呢?
  是不是要取得http的应答状态,然后根据状态位判断显示呢?如果是这样的话,后台Servlet能随时判断这个应答状态吗?
  另外,这种界面的状态条是如何精确控制的呢?

解决方案 »

  1.   

    function DoPassportAction(passport,userdata,returnPageno,action){
    getObj('_body').style.display='';
    getObj('_body').innerHTML = "data loading...";
    ajaxJsVar.target='_body';
    var url = action+'.do';
    var params = 'passportid='+passport+'&page_no='+returnPageno;
    if (action=="detailUserData"){
    params = 'passportid='+passport+'&userid='+userdata+'&page_no='+returnPageno;
    }
    AjaxUpdateInfo(url,params);
    }
    你可以参考下这个!!!
      

  2.   

    就是在你的jsp页面的链接调用。把参数代上。我这个是wenwork做的!!
      

  3.   

    昨天晚上看webwork的时候,记得webwork可以直接实现这个功能.
    楼主GG下.
      

  4.   

    a.jsp:
    PspadmJspWaitGuidance.jsp?NextForm=wait.jsp&param1=cwait.jsp
    <META http-equiv="Refresh" content="1;url=b.jsp?param1=c">b.jsp
      

  5.   

    不好意思,刚才发错了
    a.jsp:
    wait.jsp?NextForm=wait.jsp&param1=cwait.jsp
    <META http-equiv="Refresh" content="1;url=<%=NextForm%>?param1=c">b.jsp
      

  6.   

    对了,我想在不用任何框架的基础上,用单纯的html、javascript或jsp实现
      

  7.   

    function usercheck(){

    if(window.ActiveXObject){
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
    xmlhttp = new XMLHttpRequest();
    }

    var personname_value = document.addPersonnel.personname.value;
    var url = "<%=request.getContextPath()%>/verdictUserNameWhithAddPersonnel.do?personname="+personname_value;
    xmlhttp.open("POST", url, true);

    xmlhttp.onreadystatechange=process;

    xmlhttp.send();

    }

    function process(){

    if(xmlhttp.readyState==4){
    document.getElementById("message").innerHTML = xmlhttp.responseText;
    }else{
    document.getElementById("message").innerHTML = "正在处理! 请稍后...........";
    }
    }
    希望楼主能看得明白~~~
      

  8.   

    呵呵 我看明白了 
    你用的是Ajax技术 我们Ajax技术是用的DWR封装的,DWR专门有个关于这个的封装 
    我现在要做的是可能在一个页面传递很多数据,提交到另一个页面,在这个页面上也可能会作很多处理,这样在显示第二个界面的时候可能会有一段很长的时间,在这段时间内页面可能加载太慢,显示空白,我就想在这个时间间隔内加入一个显示"正在处理.."的界面,当第二个页面处理完准备显示后,显示第二个界面,不知道我这么说大家明不明白
    如果不用Ajax技术,应该怎么处理呢?以前Ajax还没出现的时候,是怎么处理的?
      

  9.   

    function process(){
    if(xmlhttp.readyState==4){
      .......
      
      在这里跳到别一页不可以了吗~???  .......
    }else{
    document.getElementById("message").innerHTML = "正在处理! 请稍后...........";
    }
    }Ajax也没什么???就不是js吗???不要把他看得太高深了~!!!
      

  10.   

    out.println("<font size=3 color=blue>提交成功,稍后返回......</font><meta http-equiv='refresh' content='2;url=/car/lx.html'>");
    这样OK?
      

  11.   

    如果你对等待窗口没有过多要求的话 可以使用DIV来做
    一个显示,一个隐藏,提交的时候反过来就可以了