MVEL嵌套属性解析问题
我有以下类
private static class Person{
private int iq;
private Person[] minions;
public int getIq() {
return iq;
}
public Person[] getMinions() {
return minions;
}
}
我正在针对此代码尝试以下 MVEL (1.3.16-java1.6) 表达式
count = 0;
foreach (minion : minions){
if (minions[count].iq > 120) {
return true;
}
}
return false;
但是 MVEL 似乎对 minions[count].iq
有问题(甚至minions[0].iq
) 构造。
任何意见将不胜感激。编译器确切的抱怨是
Caused by: java.lang.IllegalAccessException: Class org.mvel.optimizers.impl.asm.ASMAccessorOptimizer can not access a member of class Person with modifiers "public"
I have the following class
private static class Person{
private int iq;
private Person[] minions;
public int getIq() {
return iq;
}
public Person[] getMinions() {
return minions;
}
}
I'm trying out the following MVEL (1.3.16-java1.6) expression against this code
count = 0;
foreach (minion : minions){
if (minions[count].iq > 120) {
return true;
}
}
return false;
However MVEL seems to have problems with the minions[count].iq
(or even minions[0].iq
) construct.
Any inputs would be appreciated. The compilers exact grouse is
Caused by: java.lang.IllegalAccessException: Class org.mvel.optimizers.impl.asm.ASMAccessorOptimizer can not access a member of class Person with modifiers "public"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
![扫码二维码加入Web技术交流群](/public/img/jiaqun_03.jpg)
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的
Person
类是私有的,因此我假设它对ASMAccessorOptimizer
不可见,或者如果可见,ASMAccessorOptimizer
将无权访问它。将
Person
声明为 public 应该可以解决这个问题。Your
Person
class is private, thus I assume it would not be visible toASMAccessorOptimizer
or if it would,ASMAccessorOptimizer
would not have the rights to access it.Declaring
Person
public should solve that issue.