3
通過使用Java Sripting API,我可以在Java中執行JavaScript。然而,有人可以解釋如何從Java中獲取JS的返回值嗎?在下面的例子中,我可以調用腳本2使用在java中捕獲javascript返回值
inv.invokeFunction("getValue", "Number", "2);
如何從script2獲取返回值?
import javax.script.*;
public class InvokeScriptFunction {
public static void main(String[] args) throws Exception {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("JavaScript");
// JavaScript code in a String
String script1 = "function hello(name) {print ('Hello, ' + name);}";
String script2 = "function getValue(a,b) { if (a==="Number") return 1;
else return b;}";
// evaluate script
engine.eval(script1);
engine.eval(script2);
Invocable inv = (Invocable) engine;
inv.invokeFunction("hello", "Scripting!!"); //This one works.
}
}
如果我寫在上面然後servlet代碼我們可以說,JavaScript是在服務器端運行? –