将servlet的响应写入iframe

时间:2013-04-17 12:37:24

标签: javascript html jsp servlets web-applications

Content.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <iframe src="Response.jsp">
    </iframe>
    </body>
    </html>

的response.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <%="Loading..." %>
    <%
    try{
    Thread.sleep(6000);
    }
    catch(Exception e){

    }
    %>
    <%="Loaded" %>
    </body>
    </html>

在上面的代码中,我希望在i frame中“加载”应该在“加载”6秒后打印 但是在这里他们“加载......”和“加载”在6秒后同时打印。 我试过flush()和flush Buffer() 但是,如果我将“正在加载...”更改为"<H1> Loading... </H1>"它的工作正常我预期。但我需要知道还有其他方法吗? 感谢。

1 个答案:

答案 0 :(得分:0)

服务器将响应作为单个html页面发送。因此即使你在两个语句之间放置一个睡眠,它们也会同时显示在客户端。有几种方法可以做到这一点。

查看Commet