新手在这里对我很轻松: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网络应用程序,让用户输入一个输入,这个值传递给上面的java代码,一旦计时器完成,就会出现一个弹出窗口,
这可能与JSF有关吗?我正在以正确的方式解决这个问题,如果不是我应该怎样编辑我的java才能使用
非常感谢:)
答案 0 :(得分:0)
基本上,HTTP是无状态协议,但是,要实现您想要的功能,您必须在浏览器和服务器之间保持通信开放。不完全是JSF
,但是,您可以查看Comet
的工作原理http://en.wikipedia.org/wiki/Comet_%28programming%29。您将了解如何在JSF中执行此操作。或者,如果您使用的是现代浏览器(支持HTMl 5)和Web服务器,那么请查看新的 WebSocket http://en.wikipedia.org/wiki/WebSocket编程。