如果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,使用起来也很简单。