私は、ユーザが小さな「スクリプト」をサーバに提出するプロジェクトを進めており、それらのスクリプトを実行します。 Javaプログラムには、mvel、ognl、uel、clojure、rhino javascriptなどのような多くのスクリプト言語が組み込まれていますが、私が知る限り、スクリプト作成者はJavaのコンストラクタをstaticメソッドなどがあります。「安全でない」JavaメソッドにアクセスできないJava表現言語
私はユーザが(通常は何らかのコンテキストオブジェクトを介して)私がそれらを提供しないものを呼び出せないようにします。スクリプトのほとんどは算術式と論理式ですが、オブジェクトのプロパティ(ゲッター/セッター)やマップの内容をトラバースする必要があります。私はそれらを提供するサンドボックスから彼らを逃れることを望んでいません。
提案がありますか?
JavaのJSP言語(UEL)はそれを行うことができますように見えます。 Javaの静的メソッドにアクセスするには、XMLファイルで別名を付ける必要があります。静的でないメソッドにはアクセスできないと思います。私はglassfishのUELをまだ働かせることができないので、これを確認することはできません。 – Shahbaz