Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java脚本引擎-禁用导入_Java_Javascript_Import_Eval_Scriptengine - Fatal编程技术网

Java脚本引擎-禁用导入

Java脚本引擎-禁用导入,java,javascript,import,eval,scriptengine,Java,Javascript,Import,Eval,Scriptengine,我一直在到处搜索,但什么也没找到,所以我想使用Java的内置JavaScript引擎,但用户无法导入Java类,如以下任何一种: importPackage(package.example); 或 或 我有点困惑。根据你的标题,我认为你想阻止用户在JavaScript中导入类。在这种情况下,这里已经提出了这个问题, . 一些解决方案建议对Java SecurityManager进行研究,另一位用户说,他通过在所有脚本的顶部添加“importPackage=null”来解决这个问题 相反,根据脚

我一直在到处搜索,但什么也没找到,所以我想使用Java的内置JavaScript引擎,但用户无法导入Java类,如以下任何一种:

importPackage(package.example);


我有点困惑。根据你的标题,我认为你想阻止用户在JavaScript中导入类。在这种情况下,这里已经提出了这个问题, . 一些解决方案建议对Java SecurityManager进行研究,另一位用户说,他通过在所有脚本的顶部添加“importPackage=null”来解决这个问题

相反,根据脚本的内容,我感觉您在导入Java类时遇到了麻烦。如果是这样的话我在这里回答, 基本上,还有另一种导入JavaScript内部的方法,您没有显示。我是这样做的

    pack = Packages.abc.foo.pack.name;

    var foo = new pack.ClassFromTheJarFile("arg1","arg2");

    foo.doSomething();

    var fooSister = new pack.AnotherCLassFromTheJarFile("arg1");

    fooSister.doSomthingFromThisClass();

尽管该示例使用来自jar文件的包,但它不必来自jar,代码仍然保持不变。

我不知道java有内置的js引擎。它是如何调用的?this.ScriptEngine=new-ScriptEngineManager();this.Script=this.ScriptEngine.getEngineByName(“JavaScript”);然后,通过对象:this.Script.put(“Sys”,Sys);this.Script.put(“Sys.out”,Sys.out);this.Script.put(“Sys.err”,Sys.err);我指的是它的名字,对不起:)它会是犀牛吗?是的,就是它。只需在google中搜索:javax.script.ScriptEngine,就可以找到jython、jruby等插件@perencia有几个名字可以用。首先,它们让您可以选择使用大写(在某些地方)或全部小写,例如,在getEngineByName中插入JavaScript或JavaScript都可以,您也可以说ECMAScript,我认为甚至是JS或JS。所有这些名称都适用于JavaScript。
new package.example.MessWithEverythingClass(ApplicationIsBroken aib);
    pack = Packages.abc.foo.pack.name;

    var foo = new pack.ClassFromTheJarFile("arg1","arg2");

    foo.doSomething();

    var fooSister = new pack.AnotherCLassFromTheJarFile("arg1");

    fooSister.doSomthingFromThisClass();