读书人

如果JS里面想循环的调用JAVA代码解决方

发布时间: 2012-02-15 12:09:44 作者: rapoo

如果JS里面想循环的调用JAVA代码
<html>
<head>
<title>
jsp1
</title>
<script>
var interval = null;
var time = 5000;

function InitSendInfo(){
interval = setTimeout( "getSendLogInfo() ",time);
}

function getSendLogInfo(){
<%
System.out.println( "Hello! ");
%>
sendLogInfoTask();
}

function sendLogInfoTask(){
interval = setTimeout( "getSendLogInfo() ",time);
}
</script>
</head>

<body bgcolor= "#ffffff " onload= "InitSendInfo() ">

</body>
</html>

看后台,只打印了一次 "hello ".

该怎么才能实现循环打印呢?

[解决办法]
java代码只在服务器端编译时才执行,所以才会执行一次。

一般是使用js调用页面元素,而页面元素可以存储java代码的值。
[解决办法]
把java代码放个jsp里 然后放个iframe 用js循环刷新
[解决办法]
当你第一次打开页面的时候输出hello,其实并不是js起到的作用。jsp编译后的getSendLogInfo()变为了以下内容:
function getSendLogInfo(){
sendLogInfoTask();
}
由此可以看出是不可能循环打印的。
如果你非要调用java代码进行循环打印,不妨试一下ajax。有个组件叫dwr,很好的封装了ajax,使用起来也很简单。

读书人网 >Java Web开发

热点推荐