我在类中有一个java方法,我想在每2秒后在JSP中调用此方法。此外,还希望将此方法返回的值保存到JSP中的变量。
valuepass.java
package docker;
public class valuepass{
public static int value=0;
public static int count(){
if ( value >= 99 ){
System.out.println(value);
return value; //or throw exception, whatever
}
else{
System.out.println(value);
return value++;
}
}
}
的index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
import="java.util.* , java.io.*" pageEncoding="UTF-8"%>
<%@page import="docker.*"%>
<html>
<head>
<script type="text/javascript" src="JS/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
var auto = setInterval( function ()
{
<%= valuepass.count() %>;
}, 2000); // refresh every 2000 milliseconds
</script>
</head>
<body>
<center>
<font face="verdana" size="4px">
Auto Reload Part Of Webpage Every 2 Seconds In Java-Jsp-jQuery
</font><br><br>
<img src="images/java4s.png"><br><br>
<div id="score"></div>
</center>
</body>
</html>
但index.jsp每次都返回相同的值,但是在java代码中,我在每次调用时递增值。
我得到的输出是0并且每次重新加载页面时它都会增加值,如1,2,3 ......
我想要的是0123456789 ......
我认为我在调用valuepass.count
的scriptlet中遇到了一些问题另外,我将valuepass.count返回的值存储在一个变量中,以便我可以在JSP中使用它。
答案 0 :(得分:0)
在java类中,使用session.setAttribute("value",countValue);
,其中countValue的初始值为0,它是调用java方法时加载的值。会议将具有价值。因此,如果您再次调用该方法,请使用String countValue = session.getAttribute("value");
从session.Add 1
获取会话值的值,并再次将其设置为会话session.setAttribute("value",countValue);
SO会话将永久保留该值。如果要删除会话值,请使用session.removeAttribute("value");
。在项目中的任何地方调用此会话。