Sto cercando di ottenere il valore di ritorno di una funzione JavaScript che ho scritto. Posso farlo usando un metodo molto complicato che coinvolge gli ascoltatori, ma sto volendo usare il metodo Browser.evaluate di Eclipse.C'è un modo semplice per ottenere l'output JavaScript in Java (usando Eclipse)?
Come un problema giocattolo, ho il seguente codice in un file Java:
Object result = this.browser.evaluate("new String(\"Hello World\")");
dove this.browser viene creato in una classe che estende org.eclipse.ui.part.EditorPart
nella funzione override createPartControl
:
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...
}
Tuttavia, anziché result
è una stringa Java con il contenuto "Hello World", è null
. Sto usando questo metodo in modo errato o è rotto?