gpt4 book ai didi

java - 如何在按 F5 时刷新 Wicket 中的动态内容?

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

我实现了一个 MatchPage,它显示以下信息:

  • 比赛状态(开放/结束)
  • 获奖者(获奖者姓名)
  • 上传文件的表单

(点击链接查看其外观,[1]:http://www10.pic-upload.de/25.04.13/klmy9fe8cgk3.png)

现在问题来了。让我们假设,某人正在报告结果,而另一个人当前已打开特定的比赛页面。报告完成后,MatchStatus 将从 OPEN 变为 CLOSED,颜色从 OPEN=green 变为 CLOSED=red,获胜者将被设置,上传文件的表单将消失(参见 [2]: http://www7.pic-upload.de/25.04.13/9diu5bcbws9.png )。

报告结果的玩家将看到更新后的 MatchPage,而另一位玩家仍然会看到旧版本的 MatchPage,即使他刷新了浏览器。

我可以使用我自己的 LoadableDetachableModel 解决 OPEN/CLOSED 问题:

@Override
public String load()
{
Match m = dao.getMatchFromID(match_id);
String result = "OPEN";

if (m.getClosed())
{
result = "CLOSED";
reportForm.setVisible(false); //does not work
colorBehavior.setColor("red"); //does not work

}

return result;
}

我的比赛页面上的标签:

matchStatus = new Label("matchStatus", new MyMatchModel(m.getMatch_id(), matchDAO, reportForm));

正如您在 load() 方法中看到的那样,将 reportForm 设置为不可见并将颜色设置为红色不起作用。

知道如何解决此类问题吗?当用户按 F5/刷新浏览器时,如何使表单消失并将颜色更改为红色。

最佳答案

您应该像这样重写表单的“isVisible()”方法:

public boolean isVisible() {
return !yourModel.getObject().getClosed();
}

关于java - 如何在按 F5 时刷新 Wicket 中的动态内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16224065/

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