我实现它显示以下信息一个MatchPage:如何在按F5时刷新Wicket中的动态内容?
- MatchStatus(开/关)
- 得主(获奖者的姓名)
- 形式上传文件
(请按照链接看看它的样子,[1]:http://www10.pic-upload.de/25.04.13/klmy9fe8cgk3.png)
现在问题来了。假设有人正在报告结果,而另一个人正在打开特定的MatchPage。报告完成后,MatchStatus将从OPEN变为CLOSED,颜色将从OPEN =绿色变为CLOSED =红色,赢家将被设置,上传文件的表单将消失(请参阅[2]:http://www7.pic-upload.de/25.04.13/9diu5bcbws9.png)。
报告结果的玩家将看到更新的MatchPage,而另一个玩家仍然会看到旧版本的MatchPage,即使他刷新了浏览器。
我能解决OPEN问题/用我自己的LoadableDetachableModel 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;
}
标签上我的MatchPage:
matchStatus = new Label("matchStatus", new MyMatchModel(m.getMatch_id(), matchDAO, reportForm));
正如你可以在load()方法看,设置reportForm不可见并将颜色设置为红色不起作用。
任何想法如何我可以解决这样的问题?当用户按下F5 /刷新浏览器时,如何使窗体消失并将颜色更改为红色。
设置可见你重新渲染页面后?我也不会打赌,用户知道他必须按F5或刷新。如果这很重要,我会使用'AjaxSelfUpdatingTimerBehavior'。 – 2013-04-26 07:33:15