首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让JavaFx WebEngine详细报告错误?

如何让JavaFx WebEngine详细报告错误?
EN

Stack Overflow用户
提问于 2013-03-20 11:30:35
回答 3查看 10.5K关注 0票数 12

在JavaFx中,我可以将侦听器附加到webEngine的加载工作器,如下所示:

代码语言:javascript
复制
 webEngine.getLoadWorker().stateProperty().addListener(
      new ChangeListener<Worker.State>() {
      public void changed(ObservableValue ov, Worker.State oldState, Worker.State newState) {                               
             System.out.println("webEngine result "+ newState.toString());
      }
  });

但是,如果我试图将文档加载到https地址,如:

https://SomeLocalMachine.com:9443/jts/admin#action=com.ibm.team.repository.manageUsers

我在控制台上被打印出来的就是:

代码语言:javascript
复制
webEngine result READY
webEngine result SCHEDULED
webEngine result RUNNING
webEngine result FAILED

( Firefox或Chrome中相同的https地址为我提供了一个登录页面)

有人知道如何从JavaFx WebEngine获得更详细的报告吗?我不想只知道它失败了-我需要知道为什么。我可以猜到我的错误与SSL /证书/HTTPS有关,但目前我完全不知道SSL的哪一部分导致了“失败”

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-11 08:15:51

我们得到的最好结果是:

代码语言:javascript
复制
if (webEngine.getLoadWorker().getException() != null && newState == State.FAILED) {
    exceptionMessage = ", " + webEngine.getLoadWorker().getException().toString();
}

但这没什么用。

(我们的错误是由缺少的CookieStore引起的,似乎您没有免费获得一个--必须设置一个默认的:http://docs.oracle.com/javase/7/docs/api/java/net/CookieHandler.html)

票数 8
EN

Stack Overflow用户

发布于 2016-06-10 17:01:03

您可以使用com.sun.javafx.webkit.WebConsoleListener。缺点是它是JRE内部API。

代码语言:javascript
复制
WebConsoleListener.setDefaultListener(new WebConsoleListener(){
    @Override
    public void messageAdded(WebView webView, String message, int lineNumber, String sourceId) {
        System.out.println("Console: [" + sourceId + ":" + lineNumber + "] " + message);
    }
});
票数 19
EN

Stack Overflow用户

发布于 2013-10-10 14:04:27

你试过以下几种方法:

代码语言:javascript
复制
engine.getLoadWorker().exceptionProperty().addListener(new ChangeListener<Throwable>() {
    @Override
    public void changed(ObservableValue<? extends Throwable> ov, Throwable t, Throwable t1) {
        System.out.println("Received exception: "+t1.getMessage());
    }
});
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15522315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档