簡體   English   中英

按F5時如何刷新Wicket中的動態內容?

[英]How to refresh dynamic contents in Wicket when you press F5?

我實現了顯示以下信息的MatchPage:

  • 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,即使他刷新了瀏覽器。

我可以使用自己的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;
}

我的MatchPage上的標簽:

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

正如在load()方法上看到的那樣,將reportForm設置為不可見並將顏色設置為紅色不起作用。

知道我如何解決這種問題嗎? 當用戶按下F5 /刷新瀏覽器時,如何使表單消失並將顏色更改為紅色。

您應該重寫如下形式的“ isVisible()”方法:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM