Java脚本语言可以同时使用Beanshell和Groovy进行JSR223脚本编写(有少量限制/更改)
基于Java(模板引擎)的项目为 Velocity有JSR223支持
速度可以集成到Java脚本语言框架(由JSR-223 API定义)中。
Freemarker在其contributors page
中建议
- javax.script(JSR-223)支持
但是什么时候通过脚本执行基于Java的代码更好呢?什么时候可以将其作为常规的Java代码执行呢?
答案 0 :(得分:0)
我发现了一种安全用法,您可以在limited access/sandbox中使用ScriptEngineManager(java.lang.ClassLoader)来执行脚本
Q:
我不希望任何脚本有权访问我的任何课程。
A:
有一个使用类加载器的ScriptEngineManager构造函数。类加载器用于加载脚本引擎实现。当类继承其类加载器时,脚本引擎及其创建的任何对象也应使用该类加载器。
该类加载器需要拒绝所有未列入白名单的类。