问题描述
我正在尝试将格式表达式评估为
"( 13d9368d158208ca4a9e30357bcf3aa20df7b1896cc851d61a2e22e5748e1aa6 == 'joy' && ( c2b3267625dd3513d6beccb7cce3c9602c6f605a26b93e9c519899211a10cda6 == 'joy' && 4e8c53498baba80ede9b852558ef6c71db8c65b1cb8d6bab731536da30157b27 == 'joy' ))"
我也为此创建了一个上下文
Map<String,Object> context = new HashMap<String,Object>();
context.put("13d9368d158208ca4a9e30357bcf3aa20df7b1896cc851d61a2e22e5748e1aa6","joy");
context.put("c2b3267625dd3513d6beccb7cce3c9602c6f605a26b93e9c519899211a10cda6","joy");
context.put("4e8c53498baba80ede9b852558ef6c71db8c65b1cb8d6bab731536da30157b27","joy");
当我执行 Boolean result = (Boolean) MVEL.eval(expression,context) 时,我收到以下错误消息
线程“main”中的异常[错误:无效数字文字:13d9368d158208ca4a9e30357bcf3aa20df7b1896cc851d61a2e22e5748e1aa6] [近:{... ab731536da30157b27 == '欢乐' ) ....}]
整个代码是
import java.util.HashMap;
import java.util.Map;
import org.mvel2.MVEL;
import org.mvel2.ParserContext;
public class Test {
public static void main(String[] args) {
Map<String,Object>();
context.put("13d9368d158208ca4a9e30357bcf3aa20df7b1896cc851d61a2e22e5748e1aa6","joy");
context.put("c2b3267625dd3513d6beccb7cce3c9602c6f605a26b93e9c519899211a10cda6","joy");
context.put("4e8c53498baba80ede9b852558ef6c71db8c65b1cb8d6bab731536da30157b27","joy");
String expression = "( 13d9368d158208ca4a9e30357bcf3aa20df7b1896cc851d61a2e22e5748e1aa6 == 'joy' && ( c2b3267625dd3513d6beccb7cce3c9602c6f605a26b93e9c519899211a10cda6 == 'joy' && 4e8c53498baba80ede9b852558ef6c71db8c65b1cb8d6bab731536da30157b27 == 'joy' ))";
Boolean result = (Boolean) MVEL.eval(expression,context);
System.out.println(result);
}
}
我是 MVEL 的新手,所以任何指示都会有很大帮助
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)