我有问题。 我正在尝试在我的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?
知道如何解决这个问题吗?
答案 0 :(得分:1)
GWT仅模拟完整JRE的一个子集,在客户端使用,而ScriptEngineManager
不是该集合的一部分。实际上,整个javax.*
根本没有被模仿。通常这是由于javascript和/或线程/并发处理中缺少任何类型的反射对应物。
有关模拟类的列表,请参阅here。
我不明白你要做什么,但如果你需要使用javascript eval()
函数评估JSON字符串,只需使用JSONParser.parse(String json)
或JsonUtils.safeEval(String json)
。< / p>