Javascript 刷新包含JSP代码段的DIV元素
我有一个JSP页面,在这里我正在读取我在会话中设置的会话属性 我希望定期读取会话属性。我不想重新加载整个页面,我只是将JSP会话读取属性保留在DIV中,并尝试重新加载DIV,但它并没有重新加载DIV 以下是我的代码库:Javascript 刷新包含JSP代码段的DIV元素,javascript,jsp,html,reload,Javascript,Jsp,Html,Reload,我有一个JSP页面,在这里我正在读取我在会话中设置的会话属性 我希望定期读取会话属性。我不想重新加载整个页面,我只是将JSP会话读取属性保留在DIV中,并尝试重新加载DIV,但它并没有重新加载DIV 以下是我的代码库: <html> <head> // Loading CSS and Script files </head> <body> <div id="loadData" style='display:none;'
<html>
<head>
// Loading CSS and Script files
</head>
<body>
<div id="loadData" style='display:none;'>
<%
String strStatus = String.valueOf(session.getAttribute("Status")) ;
%>
</div>
</body>
<script type="text/javascript">
var reqStatus = '<%= strStatus %>';
$(this).load(function(){
setInterval(function() {
$("#loadData").load();
} ,1000);
});
$("#loadData").load(function(){
if(reqStatus == 'Done') {
// My Code goes here..
}
});
</html>
//加载CSS和脚本文件
var reqStatus='';
$(this.load(function()){
setInterval(函数(){
$(“#加载数据”).load();
} ,1000);
});
$(“#加载数据”).load(函数(){
如果(reqStatus==“完成”){
//我的代码在这里。。
}
});
也欢迎任何更好的想法。JSP中的代码在生成的HTML发送到浏览器之前被编译/执行。不能在呈现时重新加载页面的一部分,并期望其更改。您可能需要创建一个隐藏的iframe并完全(轻松地)重新加载它,或者创建一个Web服务来查询参数(更难)。您的JSP代码只在页面首次加载时计算一次。当JSP代码运行时,会生成HTML并发送到浏览器。你不能像那样“重新加载”一个div;JSP代码将不会运行 您可以将JSP代码放入一个单独的文件中,然后使用
jQuery.load
将该页面加载到div中:
jQuery(document).ready(function() {
setInterval(function() {
jQuery('#loadData').load('/status.jsp');
}, 1000);
}
status.jsp
将只包含一行:
<%= String.valueOf(session.getAttribute("Status")) ; %>
JSP在服务器上呈现一次,然后发送到客户端,之后Java代码什么也不做。如果希望以不同的时间/频率加载HTML/javascript代码和Java代码,则不能将它们放在同一个文件中 将其放入一个单独的.jsp文件:
<%= String.valueOf(session.getAttribute("Status")) ; %>
如何“完全”重新加载iframe?我试过了,在Firefox和IE的vista机器上工作得很好。但不能在Windows7操作系统上使用IE8。因此,还有其他的事情我需要考虑在IE 8上的Win 7操作系统。@复用器,我想不会。vista机器上的IE版本是什么?我在vista和Windows 7机器上都使用IE 8。
var reloadStatus = function () {
$.ajax("/checkStatus.jsp", function (data) {
if (data == "Done") {
// Your code here
}
});
};
setInterval(reloadStatus, 1000);