Использование Rhino вместо ScriptEngine для запуска кода Javascript в Java
На основании обсужденияпреобразование строкового представления неизвестного формата даты в дату в JavaЯ хочу использовать JavaScriptDate
функция в моем проекте App-Engine. Однако ScriptEngine не работает на App-Engine. Поэтому мне нужна небольшая помощь в переходе на Rhino. Вот код ScriptEngine, который мне нужно преобразовать:
ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
ScriptEngine engine = scriptEngineManager.getEngineByName("JavaScript");
String script = "var date = new Date('" + dateInUnknownFormat + "'); var timestamp = date.getTime();";
engine.eval(script);
long timestamp = ((Double) engine.get("timestamp")).longValue();
Следующее не сработало
private static long parseDateUsingRhino(String dateInUnknownFormat){
Context mozillaJsContext = Context.enter();
Scriptable scope = mozillaJsContext.initStandardObjects();
String script = "var date = new Date('" + dateInUnknownFormat + "'); var timestamp = date.getTime();";
Object obj = mozillaJsContext.evaluateString( scope, script, "TestScript", 1, null );
Double timeDouble = Double.parseDouble((String) obj);
long timestamp = timeDouble.longValue();
return timestamp;
}
и я уже заменил"TestScript"
сnull
а также""
.