2010-11-13 81 views
0

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

+0

我不明白部分“计时器将仍然运行”。这不是你想要的吗?您需要详细阐述功能要求。另外提一下你使用的JSF版本。 – BalusC 2010-11-13 11:56:53

+0

,因为我在google中发现的代码是javascript刷新页面时的计时器重新开始。 – user236501 2010-11-13 12:13:22

+0

http://stackoverflow.com/questions/4173598/jsf-please-help-how-to-display-timer/4177067#4177067 – 2010-11-14 10:20:22

回答

2

您可以使用PrimeFaces Poll选项。

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

+0

可以把它放在JSP中吗? – user236501 2010-11-18 08:57:26

+0

是的。 primefaces与JSP – Dejell 2011-03-14 20:20:34

+0

一起使用请提供示例。 :)链接死了。 – alexander 2015-04-16 17:30:01

1

您也可以使用PrimeFaces扩展,它们的API中有timer

例子:你把试验开始到@SessionScoped豆,然后计算将被用作输入到<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()}"/>