相关疑难解决方法(0)

使用Rhino而不是ScriptEngine在Java中运行Javascript代码

基于讨论将未知日期格式的字符串表示转换为Java中的Date,我想Date在我的App-Engine项目中使用JavaScript 函数.但是,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();
Run Code Online (Sandbox Code Playgroud)

以下没有奏效

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 = …
Run Code Online (Sandbox Code Playgroud)

javascript java google-app-engine rhino scriptengine

22
推荐指数
1
解决办法
1454
查看次数