0

I'm using rhino and envjs embedded in my java application as described in the envjs guide

Java code:

import org.mozilla.javascript.Context;
import org.mozilla.javascript.ContextFactory;
import org.mozilla.javascript.tools.shell.Global;
import org.mozilla.javascript.tools.shell.Main;
...
Context cx = ContextFactory.getGlobal().enterContext();
cx.setOptimizationLevel(-1);
cx.setLanguageVersion(Context.VERSION_1_5);
Global global = Main.getGlobal();
global.init(cx);
Main.processSource(cx, "path/to/your/JSfile");

This is working and my test javascript file correctly loads a remote site and does some manipulation with the HTML elements using jQuery.

What I can't figure out is how to send data from the JavaScript back to my Java application.

Here's my .js file:

load('env.rhino.js');
load('jquery.js');
Envjs.scriptTypes['text/javascript'] = true;
window.location = 'http://[mytestpage].html'
var body = $("body");
print("The body is: "+ $.trim(body));//this prints in the Java console!

//I'd like to call a function in my Java code from the Javascript and pass the bodyText as a parameter to it. How can i do this?
myJavaFunction(bodytext);
bradvido
  • 2,523
  • 6
  • 29
  • 43

1 Answers1

0

So this Rhino tutorial was very useful in learning how to connect your Java to JS. https://developer.mozilla.org/en-US/docs/Scripting_Java

bradvido
  • 2,523
  • 6
  • 29
  • 43