【问题标题】:Is there a simple way to get the JavaScript output in Java (using Eclipse)?有没有一种简单的方法来获取 Java 中的 JavaScript 输出(使用 Eclipse)?
【发布时间】:2012-12-01 12:20:07
【问题描述】:

我正在尝试获取我编写的 JavaScript 函数的返回值。我可以使用涉及侦听器的非常复杂的方法来做到这一点,但我想使用 Eclipse 的 Browser.evaluate 方法。

作为一个玩具问题,我在 Java 文件中有以下代码:

Object result = this.browser.evaluate("new String(\"Hello World\")");

this.browser 是在一个类中创建的,该类扩展了覆盖函数 createPartControl 中的 org.eclipse.ui.part.EditorPart

public void createPartControl(Composite parent) {
  // Create the browser instance and have it 
  this.browser = new Browser(parent, SWT.NONE);
  this.browser.addFocusListener(new FocusAdapter() {
    @Override
    public void focusGained(FocusEvent e) {
      SomeEditor.this.getSite().getPage().activate(SomeEditor.this);
    }
  });
  new ErrorReporter(this.browser);
  this.browser.setUrl(Activator.getResourceURL("html/java-shim.html").toString());
  ...more stuff snipped...
}

但是,result 不是内容为“Hello World”的 Java 字符串,而是 null。是我用错了这个方法,还是坏了?

【问题讨论】:

    标签: java javascript eclipse


    【解决方案1】:

    你必须在 JavaScript 中返回一个值:

    Object result = browser.evaluate("return 'Hello World'");
    

    为我工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-01
      • 1970-01-01
      • 2011-01-28
      • 2019-01-20
      • 2011-01-07
      相关资源
      最近更新 更多