1

私はどこでも検索して何も見つからなかったので、Java の組み込み JavaScript エンジンを使用したいと思いますが、ユーザーは次のような Java クラスをインポートできません。

importPackage(package.example);

また

importClass(package.example.MessWithEverythingClass)

また

new package.example.MessWithEverythingClass(ApplicationIsBroken aib);
4

1 に答える 1

0

私は少し混乱しています。あなたのタイトルに基づいて、ユーザーが JavaScript 内にクラスをインポートできないようにしたいと思います。その場合、この質問はすでにここで尋ねられています 。Java ScriptEngine のセキュリティの問題です。Java SecurityManager を調べることが提案された解決策のいくつかがあり、別のユーザーは、すべてのスクリプトの先頭に「importPackage = null」を配置することでこの問題を解決すると述べました。

それどころか、スクリプトの内容に基づいて、Java クラスのインポートに問題があるように感じます。その場合は、 Java ScriptEngine を使用して JavaScript で jar を使用し ます。私はこうやって、

    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 ファイルである必要はなく、コードは同じままです。

于 2014-07-07T01:17:57.373 に答える