3

我有个问题。我正在尝试在我的 GWT 应用程序中使用 JavaScript eval 函数,我创建了正在创建管理器的类

ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("JavaScript");

像这样使用 eval

engine.eval(calculate);

每当我尝试与该经理一起使用方法时,我都会遇到错误:

No source code is available for type javax.script.ScriptException; did you forget to inherit a required module?
No source code is available for type javax.script.ScriptEngineManager; did you forget to inherit a required module?
No source code is available for type javax.script.ScriptEngine; did you forget to inherit a required module?

知道如何解决吗?

4

1 回答 1

1

GWT 仅模拟完整 JRE 的一个子集,用于客户端,而ScriptEngineManager不是该集合的一部分。实际上,整体javax.*根本没有被模仿。通常,这是由于 javascript 中没有任何类型的反射对应物和/或线程/并发处理。

有关模拟类的列表,请参见此处。

我不明白您要做什么,但是如果您需要使用 javascripteval()函数评估 JSON 字符串,只需使用JSONParser.parse(String json), 或JsonUtils.safeEval(String json).

于 2013-04-09T22:23:19.047 回答