JavaScriptをJavaで実行するプログラムは簡単に作れるので、ちょっと用意してみた。Java6ではRhinoが同梱されていますが、その挙動を確認するのに便利です。直接書き込む方法と、a.jsというファイルを用意して読み込む方法と、両方用意してみました。
import java.io.*;
public class Script {
public static void main(String[] args) throws Exception {
Script app = new Script();
app.run1();
app.run2();
}
public void run1() throws Exception {
ScriptEngineManager m = new ScriptEngineManager();
ScriptEngine engine = m.getEngineByName("JavaScript");
try {
engine.eval("print(‘Hello, world!’)");
} catch (ScriptException e) {
e.printStackTrace();
}
}
public void run2() throws Exception {
ScriptEngineManager m = new ScriptEngineManager();
ScriptEngine engine = m.getEngineByName("ECMAScript");
InputStream is =
this.getClass().getResourceAsStream("a.js");
try {
Reader reader = new InputStreamReader(is);
engine.eval(reader);
} catch (ScriptException e) {
e.printStackTrace();
}
}
}
ちなみに、a.js の内容は次のような感じの内容。
var itemTitle = "&abc&def&";
re1 = new RegExp("&", "g");
itemTitle = itemTitle.replace(re1, "&");
print(itemTitle);