0
我正在使用Javascript引擎来比较值。值可以是双精度或日期。 (字符串)使用JavaScript引擎比较日期
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("JavaScript");
// Date value is populated dynamically here
engine.eval("dateValue = " + "01/02/2012");
// The condition is populated dynamically here
if ((Boolean) engine.eval("dateValue <=" + "12/31/2012")) {
System.out.println("TRUE");
} else {
System.out.println("FALSE");
}
上面的代码可以很好地处理double值,但会给日期带来错误的结果。对于上面的例子,它应该显示TRUE,但是它显示FALSE。请帮忙。
感谢您的答复。我试过这个,但它在线程“main”中抛出异常异常com.sun.phobos.script.util.ExtendedScriptException:org.mozilla.javascript.EvaluatorException:missing;在行号1 – 2012-07-13 19:37:42
的之前的语句(<未知源>#1)尝试在if脚本末尾处的';'现在更新 –
2012-07-13 19:39:59
否则,您可以将此值赋给变量并获取通过引擎对象的变量。 – 2012-07-13 19:40:36