如何在JSF中创建计时器计数器

时间:2010-11-13 11:40:33

标签: jsf timer

我想创建一个在线测试系统,所以我需要一个计时器。当用户开始测试时,计时器将开始倒计时。但是当用户转到下一个问题刷新页面时,计时器仍将运行。我怎么能这样做呢?

2 个答案:

答案 0 :(得分:2)

您可以使用PrimeFaces Poll选项。

计数器将始终保存在服务器上。

答案 1 :(得分:1)

您也可以使用PrimeFaces Extensions,他们的API中有timer

示例:将测试开始放入@SessionScoped bean,然后计算将用作<pe:timer>元素输入的剩余秒数:

@SessionScoped
public class UserData {
     private Date testStart; 

     /* getters and setters for testStart */

     public int secondsRemaining() {
        //calculate seconds remaining until end of the test from this.testStart
        return secondsRemaining;
     }
}

然后你的test.xhtml将包含元素

Time remaining: <pe:timer format="HH:mm:ss"
                    timeout="#{userData.secondsRemaining()}"/>