gpt4 book ai didi

java - 频繁刷新页面信息

转载 作者:太空宇宙 更新时间:2023-11-04 07:47:33 24 4
gpt4 key购买 nike

我是 Spring 和 MVC 新手,但我有一个问题需要解决。我不知道在这种情况下正确的做法是什么。

我有课:

public class RandomNumbers
extends TimerTask

{
private Random random;
private int actualNumber;

public RandomNumbers( )
{
this.random = new Random();
}

@Override
public void run()
{
actualNumber =
random.nextInt( 100 );
System.out.println( actualNumber );
}

public int getActualNumber()
{
return actualNumber;
}
}

效果很好。我从这个类创建了新的 bean 并计划了任务。例如。每 2 秒执行一次 run() 并生成新的 acutalNumber。我添加的内部 Controller :

model.addAttribute( "actualNumber", randomNumbers.getActualNumber() );

这样就可以了,我在 jsp 页面上打印了 ActualNumber 的第一个值。

问题是:即使生成了新的数字(sysout 有效)页面上的信息也不会刷新。我应该如何从 randomNumbers bean 接收新值?例如,我想在“actualNumber”更改时或每 5 秒获取新信息。

最佳答案

当用户看到 JSP 页面的输出时,他们只是看到从该页面生成的 HTML。为了使其动态化,浏览器必须“知道”去获取新值。

例如,您的页面上可以有一些 javascript,它会不断刷新整个页面。你可以这样做:

<head>
<script type="text/JavaScript">
function timedRefresh() {
setTimeout("location.reload(true);",2000);
}
</script>
</head>
<body onload="JavaScript:timedRefresh(5000);">
...

您的下一个问题将是:如何获取更新后的值?您的后台进程可以简单地将新值更新到 session 变量中。然后,页面可以一致地从该 session 变量中获取值。

这可能会引发更多问题,但我希望它能让您走上正确的道路。

关于java - 频繁刷新页面信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15042357/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com