当前位置: 代码迷 >> Java Web开发 >> 求教jsp怎么动态输出
  详细解决方案

求教jsp怎么动态输出

热度:5837   发布时间:2013-02-25 21:19:39.0
求教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")(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实现~
  相关解决方案