Java SE 6.0が出たので実験
とりあえずメモ
package jp.co.ffc; import java.io.StringReader; import javax.script.Bindings; import javax.script.ScriptContext; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; public class Script { public static void main(String[] args) throws Exception { ScriptEngineManager sem = new ScriptEngineManager(); // JavaScriptのエンジンを取得 ScriptEngine se = sem.getEngineByName("js"); // JavaのオブジェクトをJavaScriptから使うためにバインドするのに使う Bindings bindings = se.getBindings(ScriptContext.ENGINE_SCOPE); // Javaのオブジェクトをバインドする Person person = new Person(); bindings.put("person", person); // 実行! StringReader sr = new StringReader("person.name = '広島 太郎';"); se.eval(sr); // 広島 太郎と表示される System.out.println(person.getName()); } } class Person { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }