#java #mvel
#java #mvel
Вопрос:
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);
}
}
Это мое простое выражение оценки. Когда я запускаю это, получаю приведенное ниже исключение. Кто-нибудь когда-нибудь сталкивался с этим? Пожалуйста, помогите.
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)
Ответ №1:
Вам нужно передать свойство 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 /
Комментарии:
1. @BaBaSomanath больше для вас, если вам интересно.. ankursinghal86.blogspot.in/2014/06 /…