かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

JavaでJavaScript使ってみよう

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;
	}

}