将变量值从循环内部传递到外部

时间:2013-06-01 14:32:06

标签: java jsp loops

我有 for 循环,并且正在更改先前在循环外声明的变量的值。我要做的是在一个重叠的 div 中显示正在被打开和关闭几秒钟的新值。有没有办法将这个值从循环内传递到循环外的叠加层?

<script>
function toggle(id) {
   var e = document.getElementById(id);
   e.style.display = (e.style.display == "block") ? "none" : "block";
}
</script>

<% 
int var=3; 

out.println("<div id='overlay'>");
out.println(var);
out.println("</div>");

for(int i=0;i<3;i++) {
   var++;
   out.println("<script>");
   out.println("toggle('overlay');");
   out.println("</script>");
   Thread.sleep(3000); out.flush();
   out.println("<script>");
   out.println("toggle('overlay');");
   out.println("</script>");
   Thread.sleep(3000); out.flush();
}
%>

1 个答案:

答案 0 :(得分:1)

您需要通过javascript动态更改div标签的内容。为此你可以输出

out.println("<script>document.getElementById(\"overlay\").innerHTML = \"" + var + "\"</script> 

话虽如此......整个设置看起来有点奇怪。你究竟想要实现什么目标?