Если вы хотите использовать JavaScript (не просто как в JavaScript ), а используете Java 1.6+, вы можете использовать Scripting API :
import javax.script.*;
public class Main {
public static void main (String[] args) throws Exception {
String source =
"var system = new Array(); \n" +
"system['foo'] = function(s) { return 'hello'; } \n" +
" \n" +
"var results = system.foo('example'); \n" +
" \n" +
"if(results == \"hello\") { \n" +
" print(\"ding dong.\"); \n" +
"} \n";
ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript");
engine.eval(source);
}
}
который напечатает:
ding dong.
к консоли.
А чтобы вызвать методы Java из языка сценариев, вы можете попробовать BeanShell :
package test;
import bsh.Interpreter;
public class Main {
public static void foo(Object param) {
System.out.println("From Java, param=" + param);
}
public static void main (String[] args) throws Exception {
Interpreter i = new Interpreter();
i.eval("a = 3 * 5; test.Main.foo(a);");
}
}
который напечатает:
From Java, param=15
JAR-интерпретатор ядра BeanShell занимает всего 143 КБ: более легкий, чем будет, IMO.