日期:2014-05-17  浏览次数:20769 次

求教jsp如何动态输出
HTML code

<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>Insert title here</title>
    </head>

    <body>
        <%
            for (int i = 0; i < 10; i++)
            {
                out.println(i + "<br />");
                Thread.sleep(1000);
            }
        %>
    </body>
</html>



以上代码的执行结果是,你必须等待10秒,然后才能看到最后的页面

但是我希望它能够实时地显示结果

有没有高手愿意挑战一下?

------解决方案--------------------
随便写了个,你瞅瞅:
<html>
<head>
<script type="test/javascript">
 var i = 0;
function init(){
setInterval("changeI()",1000); //设置定时器,1秒钟调用一次该方法
}
function changeI(){
document.getElementById("test_span").innerHTML = i;
if(i <10 )
i++;
}
</script>
</head>
<body onload="init()">
<span id="test_span"></span>
</body>
</html>
<span id
------解决方案--------------------
小弟不才,愿说下见解 

 建议把java代码写到后台, 用ajax来实现实时刷新, 估计你是想看到页面上文字一个一个地出来, 这样是可以的, 方法是每一秒向后台访问一次,获取信息.

$(function(){
var i = 0;
function receiveMessage(){
i++;
var pmsg = $.trim($("#msg").val());
$.ajax({
data : {"pmsg" : pmsg, "i" : i},
url : "#.do",
success : function(msg){
$("#msg").html(pmsg + msg);
}
});
}
window.setTimeout(receiveMessage, 1000);
});



后台controller我用springMVC写
@Controller
@RequestMapping(value="/test")
public class test{
private static List list = new ArrayList();

@RequestMapping(value="/getMsg")
@ResponseBody
public String getMsg(HttpServletRequest request, String pmsg, int i){
Process process = Runtime.getRuntime().exec("ping www.baidu.com -t");
BufferedReader in = 
new BufferedReader(new InputStreamReader(process.getInputStream()));
String str;
while ((str = in.readLine()) != null)
{
list.add(str);
}

return list.get(i);
}
}

不明白的可以加我扣扣 903651293

------解决方案--------------------
用pushlet推送技术吧~
  
需要pushlet.jar

配置文件

pushlet.properties

sources.properties

及servlet调用配置

js:ajax-pushlet-client.js

也可以用flex实现~