我想从Java执行JavaScript函数.我使用了以下代码
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("JavaScript");
Run Code Online (Sandbox Code Playgroud)
但这会引发该alert()方法的异常?
engine.eval("alert('HI');");
Run Code Online (Sandbox Code Playgroud)
你不能以任何方式从java调用javascript。javascript是客户端语言,在浏览器上执行,而java在服务器上执行
更新:- 谢谢大家,我在这里学到了一些新东西。
当我在 op 中执行代码时出现以下错误
Error executing script: ReferenceError: "alert" is not defined in <eval> at line number 1
Run Code Online (Sandbox Code Playgroud)
原因是alert不是JavaScript的一部分,它是Web浏览器提供的window对象的一部分。所以,Nashhorn javascript引擎不知道它。
请参阅 参考错误:“警报”未定义
| 归档时间: |
|
| 查看次数: |
5419 次 |
| 最近记录: |