本帖最后由 phh1989 于 2009-08-07 09:29:02 编辑

解决方案 »

  1.   

    点菜单后先显示一个页面,然后再提交一个form到这个页面,这样就不会有问题了。有一些开源的ui组件,做个进度条都可以的,很简单了。
      

  2.   

    最简单的方法  你可以做个DIV层 这个层覆盖整个页面 进来默认是显示该层 然后显示一个动态 loading.... 的图片 提示用户加载中请稍后。然后你自己估计一个大概时间 用JS做一个定时器 呵呵 你估计数据刷出来了 你就把这个层自动隐藏起来。这时你的数据其实已经出来了 给用户的感觉就是你要的效果了吧 呵呵 
      

  3.   

    LS这个方法在这里不可行...都说要在点击后就必须显示了...现在不是进去页面慢...现在是后台处理速度慢,现在的状况是等了一会,整个页面出来了...所以必须是点击后就在右框架显示loading,当页面出现后loading消失....
      

  4.   

    写一个等待页面,自己找个等待的图片!
    PleaseWait.jsp
    <%
    String loading="";  
      loading="<div   id='loading'   style='position:absolute; visibility:visible;  width: 100%; height: 100%;   z-index:65536'>"   
      +"<form   name=loads>   <table   width='100%' height='100%'   border='0'   cellspacing='0'   cellpadding='0'>"   
      +"<tr>"   
      +"<td align=center><img src=Images/c_load.gif ></td>"   
      +"</tr>"     
      +"</table></form>"   
      +"</div>";    
      out.print(loading);
      out.flush();
      %>
    在其他页面引用
    <%@ include file="PleaseWait.jsp"%>
      

  5.   

    <html>   
        <head>   
        <title></title>   
        <script type="text/javascript">   
            var url = http://www.google.cn';   
        </script>   
        <style>   
            .loading-indicator {   
                font-size:8pt;    
                background-image:url(images/loading/loading.gif);   
                background-repeat: no-repeat;     
                background-position:top left;    
                padding-left:20px;   
                height:18px;   
                text-align:left;   
            }   
            #loading{   
                position:absolute;   
                left:45%;   
                top:40%;   
                border:3px solid #B2D0F7;   
                background:white url(images/loading/block-bg.gif) repeat-x;   
                padding:10px;   
                font:bold 14px verdana,tahoma,helvetica;    
                color:#003366;   
                width:180px;   
                text-align:center;   
            }   
        </style>   
        <div id="loading">   
            <div class="loading-indicator">   
                页面正在加载中...   
            </div>   
        </div>   
        </head>   
        <body onLoad="location.href = url;" style="overflow:hidden;overflow-y:hidden">   
        </body>   
        <script>   
            if(document.layers) {   
                document.write('<Layer src="' + url + '" visibility="hide"></Layer>');   
            }   
            else if(document.all || document.getElementById) {   
                document.write('<iframe src="' + url + '" style="visibility:hidden;"></iframe>');   
            }   
            else {   
                location.href = url;   
            }   
        </script>   
    </html>  
      

  6.   

    如果说是后台数据库大而导致访问慢,那LZ不如去改进数据库的算法如果使用页面加载效果作出一个页面来让用户等待,那和什么都没有在那卡者的效果差不多难道加了页面就不慢了么?所以还是改进数据库的访问方式吧如果每次操作都去访问后台数据库,或者遍历一遍,如果数据量大那肯定很慢建议LZ使用lucene建立数据库索引,以后直接通过索引拿数据,效率要比你现在的高N倍,也不用费事作页面加载了
    使用lucene也不难,LZ可以参考一下