本帖最后由 ontrackfor19888 于 2010-08-01 23:51:46 编辑

解决方案 »

  1.   

    是不是target的问题?假如left页是模块导航,点下请求servlet右面刷新数据是通用的作法,肯定能实现。
      

  2.   

    <html>
      <head>
        <title>给你的示例代码</title>
      </head>
     <frameset rows="20%,*">
     <frame src="${pageContext.request.contextPath }/manager/top.jsp" name="head"/>
       <frameset cols="18%,*">
       <frame src="${pageContext.request.contextPath }/manager/left.jsp" name="left"/>
       <frame src="${pageContext.request.contextPath }/manager/index.jsp" name="body"/>
        </frameset>
     </frameset>
    </html>如上left.jsp就是你说的那个页面。如果还有页面想超链接到左边,在属性里设置target="left"就OK了
      

  3.   

    谢谢你的回答!
    是我没说清楚么,index.html(apache)将数据发送给tomcat,tomcat如何主动刷新left.jsp(我说主动,not 点。。触发。。)接受到就自动刷新那种!!!!  request是apache的index.html  提交到tomcat的servlet tomcat 然后刷新left.jsp
      

  4.   

    你可以搜索一下http push,或者等到html5
    目前最可行的实现是在left.jsp的header加个每N秒刷新的标签,或者Ajax每隔一段时间去访问-刷新
      

  5.   

    可以使用Ajax.需要注意的就是JS调用子frame.至于第一个问题,我感觉还是不同的域,因为2者不是平等的关系.
      

  6.   

    你index里面请求发送给left.jsp不行?需要指明target是左边的那个frame
      

  7.   

    还有先试试超链接别用form,如果我没记错,form会自动刷新本frame的
      

  8.   

    你是说在index.html里面直接放请求给left.jsp,然后left.jsp去数据库里取数据吗?
      

  9.   

    不用ajax,如何才能让apache里的 index.jsp访问tomcat的left.jsp?
      

  10.   

    index.html虽然是在apache里放着但是实在前端执行的,完全可以放到tomcat里面去
    用不用ajax只是前端发送请求方式的不同,但是url是一样的,只是现在用超链接形式写出来,
    然后left.jsp直接去请求数据然后重新构建html就可以了,这里你的需要看不到ajax和其他servlet存在的必要
      

  11.   


    不好意思,这个架构必须要用到apache,而且index.html必须在那个服务器里面,否则就不行!
      

  12.   

    好,这不是问题,无论用不用apache无论他在哪,其实都是一样的,顶多访问jsp或servlet时url稍有不同
    如果你真的希望通过一个servlet去调用jsp可以试试在servlet中getServletConfig().getServletContext().getRequestDispatcher("/jsp/left.jsp").forward(req, resp);
    这样他会把请求处理后发给jsp,在servlet中查找好数据加入request然后把它和response一并传给jsp去显示,但你的index.htm在请求时要设置好frame的target
      

  13.   

    谢谢你的回答和帮助,i'll try!  Be back later!