-2

新手在这里,所以对我轻松一点:D

我在java方面还可以,并且写了一些从输入倒计时的代码:

import java.util.Scanner;
import java.util.Timer;
import java.util.TimerTask;

public class Stopwatch {

    static int interval;
    static Timer timer;

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Input seconds => : ");
        String secs = sc.nextLine();
        int delay = 1000;
        int period = 1000;
        timer = new Timer();
        interval = Integer.parseInt(secs);
        System.out.println(secs);
        timer.scheduleAtFixedRate(new TimerTask() {
            public void run() {
                System.out.println(setInterval());

            }
        }, delay, period);
    }

    private static final int setInterval() {
        if (interval == 1) {
            timer.cancel();
        }
        return --interval;
    }
}

所以无论用户输入什么,它都会在控制台中每秒倒计时。

但我现在正在尝试制作一个 jsf Web 应用程序,该应用程序将让用户输入一个输入,这个值被传递给上面的 java 代码,一旦计时器完成,就会出现一个弹出窗口,

这可能与JSF有关吗?我是否以正确的方式进行此操作,如果不是,我应该如何编辑我的 java 以使其正常工作

非常感谢:)

4

1 回答 1

0

基本上,HTTP 是一种无状态协议,但是,要实现您想要的,您必须保持浏览器和服务器之间的通信开放。不完全是JSF,但是,您可以查看http://en.wikipedia.org/wiki/Comet_%28programming%29Comet的工作原理。您将了解如何在 JSF 中执行此操作。或者,如果您使用现代浏览器(支持 HTMl 5)和 Web 服务器,请查看新的WebSocket http://en.wikipedia.org/wiki/WebSocket编程。

于 2013-02-08T16:33:30.470 回答