每两秒后在JSP中重新加载java方法

时间:2017-08-30 11:04:58

标签: java jsp

我在类中有一个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中使用它。

1 个答案:

答案 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");。在项目中的任何地方调用此会话。