JSP页面上 :  含有vo对象的list,有多行数据。选择一行数据导出为.xsl格式文件。
要求实现功能:导出成功后,这行导出的数据后页面自动刷新,把此行数据刷新掉,不显示。
已实现了功能:导出成功后,此行数据还在,页面无法自动刷下。非要手动刷新下才把导出的那行数据去掉。
在js中我不知道怎么判定下载。无法实现导出成功后自动刷新当前页面。

解决方案 »

  1.   

    调用javascript通过dhtml动态删除这一行.
      

  2.   

    在要返回的jsp页面加入:response.setHeader("Pragma", "No-cache");
    response.setHeader("Cache-Control", "no-cache");
    response.setHeader("Cache-Control", "must-revalidate");
    response.setDateHeader("Expires",0);即可实现自动刷新,而加上下面代码就无法实现自动刷新:<meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0"> 
      

  3.   

    <Script Language="JavaScript">
    <!--
    var limit="0:60"                    //定义刷新时间if (document.images){
    var parselimit=limit.split(":")
    parselimit=parselimit[0]*60+parselimit[1]*1
    }
    function beginrefresh(){
    if (!document.images)
    return
    if (parselimit==1){
        InputDate.action="TypeAlert.asp"         //此处为该页面的名称,别忘了外面应该有一个Form,用hidden空间保留此页面所需的Request.Form的数据!
        InputDate.submit()
    }
    else{ 
    parselimit-=1
    curmin=Math.floor(parselimit/60)
    cursec=parselimit%60
    if (curmin!=0)
    curtime=curmin+"分"+cursec+"秒后重刷本页!"
    else
    curtime=cursec+"秒后重刷本页!"
    window.status=curtime
    setTimeout("beginrefresh()",1000)
    }
    }window.onload=beginrefresh
    //-->
    </Script>这段要加到<HEAD>的上面!-
      

  4.   

    你用 ajax 可以完成ajax的提交,可以将你的导出url提交给server, 然后server才返回一个执行状态
    客户端根据状态执行回调函数实现刷新!
      

  5.   

    最簡單也最麻煩的辦法是
    在JS里對該頁面重新進行請求
    具體的邏輯在dao裏面進行判斷
      

  6.   

    这样不太好吧!~
    用setTimeOut不是一个完全之策!~
    还是再请求一次!~在后面给一个随机数!~
      

  7.   

    已经实现了。。感谢大家给的灵感
    在导出方法最下面 传个参数给页面 
    String str="SUCCESS";
    request.setAttribute("str", str)页面上 定义个2div 
    <div id="show"><%request.getAttribute("str");%></div>
    还有个就是 <div id="t">显示数据的表格</div> 控制js中 
    if(window.document.getElementById("show").value="SUCCESS"){
      alert("进入js控制了。");
      clear();
    }
    function clear(){
    alert("清除表单数据");
    window.document.getElementById("t").innerHTML="";
    }感谢大家的思路。