有一个问题一直困扰着我一段时间。我正在使用 icefaces 生成带有搜索字段的模式弹出窗口。单击搜索会启动特定网站的屏幕抓取工具。
我的问题是这个。如果你输入一些非常通用的术语,显然刮板需要更长的时间才能完成,这会导致超时。超时会导致模式弹出窗口冻结并且无法关闭。
如果发生超时,如何优雅地关闭弹出窗口并导航到另一个页面?
有一个问题一直困扰着我一段时间。我正在使用 icefaces 生成带有搜索字段的模式弹出窗口。单击搜索会启动特定网站的屏幕抓取工具。
我的问题是这个。如果你输入一些非常通用的术语,显然刮板需要更长的时间才能完成,这会导致超时。超时会导致模式弹出窗口冻结并且无法关闭。
如果发生超时,如何优雅地关闭弹出窗口并导航到另一个页面?
您可以创建一个线程,启动它并使其休眠会话最大超时间隔的时间量。
然后,您可以在线程恢复后重定向到另一个资源,如下所示:
@Thread 的运行方法
//...
try {
Thread.currentThread().sleep(TIMEOUT_INTERVAL);
} catch (InterruptedException e) {
e.printStackTrace();
}
URL url = new URL("REDIRECT_PAGE");
url.openConnection();
//...
但是,如果您的搜索过程在超时间隔之前完成,您可以终止线程。