java - GWT 和 ScriptEngineManager

标签 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?

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

最佳答案

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

参见 here用于模拟类的列表。

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

关于java - GWT 和 ScriptEngineManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15909355/

相关文章:

java - 如何在Java中高效删​​除多个 session key ?

java - findbugs 提示 Eclipse 的自动生成代码

java - 查看 android 监视器图时,.release() 不会减少我的内存

通过ajax的javascript表单数据

javascript - 同时淡出和滑动的 jQuery slider

javascript - 有什么办法可以在 jquery 中附加更多数据吗?

java - GWT DataGrid 行选择

java - 工程格式化程序功能不上轮

java - 如何在SmartGWT中的DynamicForm的StaticTextItem组件上应用样式?

java - 如何在所有 Domino 支持的操作系统中将文件添加到文件系统