import org.mvel2.MVEL;
public class MVELEvalTst {
public static void main(String[] args) {
String name = "xxx";
Object eval = MVEL.eval("myName=='xxx'",name);
System.out.println(eval);
}
}
这是我简单的eval表达式。当我运行它时,获得以下异常。有没有人遇到过这个?请帮忙。
Exception : Exception in thread "main" [Error: could not access: myName; in class: java.lang.String]
[Near : {... myName=='xxx' ....}]
^
[Line: 1, Column: 1]
at org.mvel2.PropertyAccessor.getBeanProperty(PropertyAccessor.java:680)
答案 0 :(得分:0)
您需要将属性myName
传递给MVEL
,以便进行评估。
代码应如下所示
import org.mvel2.MVEL;
public class MVELEvalTst {
public static void main(String[] args) {
String name = "xxx";
Map map = new HashMap();
map.put("myName",name);
Object eval = MVEL.eval("myName=='xxx'",map);
System.out.println(eval);
}
}
现在运行并检查输出。输出是真的。 另请参阅网站http://mvel.codehaus.org/