我目前正在尝试获取 Javascript 中 Java 对象的实时值来填充一些进度条。
这是 JSP 文件中的代码:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page import="server_ihm_web.server"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<style>
#myProgress {
width: 100%;
background-color: #ddd;
}
#myBar1 {
width: 1%;
height: 30px;
background-color: #4CAF50;
}
#myBar2 {
width: 1%;
height: 30px;
background-color: #4CAF50;
}
#myBar3 {
width: 1%;
height: 30px;
background-color: #4CAF50;
}
</style>
<body>
<h1>JavaScript Progress Bar</h1>
<div id="myProgress">
<div id="myBar1"></div>
</div>
<br>
<div id="myProgress">
<div id="myBar2"></div>
</div>
<br>
<div id="myProgress">
<div id="myBar3"></div>
</div>
<%
server serv = new server();
serv.startServer();
%>
</body>
<button onclick="move()">Click Me</button>
<script>
function move() {
var elem = document.getElementById("myBar1");
var elem2 = document.getElementById("myBar2");
var elem3 = document.getElementById("myBar3");
var id = setInterval(update, 100);
function update() {
elem.style.width = <%=serv.getBar1()%> + '%';
elem2.style.width = <%=serv.getBar2()%> + '%';
elem3.style.width = <%=serv.getBar3()%> + '%';
}
}
</script>
</html>
服务值每隔几秒更新一次,但进度条没有任何变化。
我认为它总是采用对象的基值,因此每次调用 update() 时都会将进度条更改为相同的值。
有没有办法更新 javascript 的 serv 值?
最佳答案
我认为你正在混合生活在不同维度的东西:)
Javascript 在浏览器中执行,而 JAVA (JSP) 在服务器上执行。
如果您的想法是让 jsp scriptlet 在用户的浏览器中执行,那么这是不会发生的。
如果您需要在用户浏览器中已经存在页面时更新页面,则必须实现一些 ajax 调用来获取后台更新。
关于javascript - JSP Javascript,更新java对象值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47535409/