Dojo チャートのサーバー側をレンダリングしようとしています。サーバー側のブラウザー エミュレーション用に Rhino と envjs を見つけました。Java impl に埋め込まれた rhino に dojo.js をロードするサンプル プログラムを実行しようとすると、例外がスローされ、
スレッド「メイン」の例外 javax.script.ScriptException: sun.org.mozilla.javascript.EcmaError: ReferenceError: 「場所」が定義されていません。(#15) の 15 行目。
私のコードは次のとおりです。
import javax.script.*;
import java.io.*;
public class Java6RhinoRunner {
public static void main(String[] args) throws ScriptException {
new Java6RhinoRunner().load(args[0]);
}
private final ScriptEngine engine;
public Java6RhinoRunner() throws ScriptException {
ScriptEngineManager factory = new ScriptEngineManager();
this.engine = factory.getEngineByName("JavaScript");
this.engine.put("Java6RhinoRunner", this);
this.engine.eval("function load(filename) { Java6RhinoRunner.load(filename); }");
}
public void load(String filename) throws ScriptException {
try {
this.engine.eval(new FileReader(filename));
}
catch(FileNotFoundException e) {
throw new RuntimeException("Error loading javascript file: " + filename, e);
}
}
}
たくさんのグーグルが行われましたが、すべて無駄でした。この問題を解決するのを手伝ってください