0

パッケージに数学クラスがありますmypackage。ここで、このクラスを MVEL にインポートし、そのプロパティに値を割り当てて、そのメソッドにアクセスしたいと考えています。次のコードを作成しましたが、次のようなエラーが発生します

Exception in thread "main" [Error: unknown class or illegal statement: 
                      ^

コードは

ParserContext context = new ParserContext();
context.addImport("math",mypackage.MyMaths.class);//MyMaths.class is public
context.addInput("obj", mypackage.MyMaths.class);

String expression1 = "obj.a == 20";//a is public property

Serializable compiled1 = MVEL.compileExpression(expression1,context);

MVEL.executeExpression(compiled1);
4

1 に答える 1

0

以下のアプローチで試してみてください。

 public static void main(String[] args) {

        Map map = new HashMap();
        MyMaths mayMaths = new MyMaths();
        map.put("obj", mayMaths);

        String expression1 = "obj.a = 20";

        Serializable compiled1 = MVEL.compileExpression(expression1);

        MVEL.executeExpression(compiled1, map);

        System.out.println(mayMaths.getA());
    }

出力 - 20

于 2014-06-24T10:59:57.063 に答える