GWT和ScriptEngineManager

时间:2013-04-09 18:09:11

标签: java javascript gwt

我有问题。 我正在尝试在我的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?

知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

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

有关模拟类的列表,请参阅here

我不明白你要做什么,但如果你需要使用javascript eval()函数评估JSON字符串,只需使用JSONParser.parse(String json)JsonUtils.safeEval(String json)。< / p>