//a
ParserContext ctx1 = new ParserContext();
ctx1.addImport("time", System.class.getMethod("currentTimeMillis"));
Serializable exp1 = MVEL.compileExpression("time()", ctx1);
System.out.println(MVEL.executeExpression(exp1));
//b
ParserContext ctx2 = new ParserContext();
ctx2.addImport("print", System.out.getClass().getMethod("print", String.class));
Serializable exp2 = MVEL.compileExpression("print('test')", ctx2);
System.out.println(MVEL.executeExpression(exp2));
以上两段代码,b段代码始终报错“Caused by: java.lang.IllegalArgumentException: object is not an instance of declaring class”。
开始一直找不到原因,认为是mvel不支持像out这种静态属性的方法,后来分析错误原因才知道自己犯傻了,a段代码不报错是因为currentTimeMillis方法是静态方法,调用时不需要instance,而out下面的print方法不是。
所以在MVEL中调用System.out.print方法时没法偷懒,只能将b段代码改成:
ParserContext ctx2 = new ParserContext();
ctx2.addImport("print", System.out.getClass().getMethod("print", String.class));
Serializable exp2 = MVEL.compileExpression("System.out.print('test')", ctx2);
System.out.println(MVEL.executeExpression(exp2));
分享到:
相关推荐
在《20几岁了,别再犯迷糊》这本书中,作者水淼通过自身经历以及周围人的故事,深入探讨了20多岁这一年龄段的年轻人在面对现实世界时所遇到的挑战与困惑。这一时期,个人成长与职业规划变得尤为重要,特别是在信息...
4. **硬件升级**:使用更高性能的传感器和执行机构,提升小车的动态性能。 总结来说,基于迷糊控制的小车研究是智能控制领域的一个重要应用,它展示了如何利用迷糊控制的灵活性和适应性,解决实际工程问题,特别是...
它使用原型链继承原型上的属性和方法,同时使用借用构造函数来继承实例属性。 10. 原型式继承 原型式继承是一种创建对象的方法,主要依赖于现有的对象,通过Object.create()方法可以创建一个新对象,新对象会继承...
在使用"PJBlog2 迷糊娃娃V1"模板时,用户需要先将pjblog353解压,然后按照PJBlog2系统提供的指示进行安装。通常,这涉及到登录博客后台,找到模板管理部分,上传或选择已解压的模板文件夹,最后保存设置以应用新的...
这款软件以“迷糊娃娃”为主题,冬己是该系列的一个角色,提供了多种视觉元素,使用户在使用电脑时能感受到独特的视觉体验。 【描述】提到这款软件“很好用”,暗示它不仅美观,而且功能实用,对系统资源的占用非常...
Bo-Blog 迷糊公主模板
本文档所涉及的"迷糊K线结合融胜轨道"是一个自定义的技术指标公式,旨在通过计算和绘制特定的K线形态与轨道线,来辅助用户识别市场趋势和交易机会。 首先,我们来看公式中的关键变量和计算方法: 1. AV:这个值代表...
通达信是一款在中国股票市场广泛使用的金融分析软件,它提供了丰富的技术指标和公式,帮助投资者进行市场分析。本文档“通达信指标公式源码 迷糊K线结合融胜轨道.doc”则介绍了一个自定义的技术指标公式,该公式结合...
模糊综合评价用于评价实际问题,得出得分,由得分评价。
在《万恶迷糊尤物》这一小说中,作者通过一段段跌宕起伏的情节,向我们揭示了主角们之间复杂的人际关系与深层的个性描写。小说中的人物格湘和殷澈,他们之间的互动不仅仅局限于表面的嬉笑怒骂,更是彼此间深刻的保护...
总的来说,迷糊娃娃桌面图标下载为用户提供了个性化的桌面美化方案,使用户可以根据自己的喜好定制电脑界面,提升使用时的愉悦感。对于喜欢可爱元素或者迷糊娃娃形象的用户来说,这无疑是一种很好的桌面装饰选择。...
三套试题模拟考试环境,顺祝各位down友通过考试,希望各位down友多努力练习,模拟试题毕竟不是真题,多少是有出入的,重要的通过模拟考试环境给down友增加信心,使down友能够在真正的考场不至于犯迷糊,不至于紧张,...
都不陌生,是英制,很多外国软件都用英制尺寸,包括Allegro、Protel,连中发制板的大妈也会跟你说线宽是多少mil,孔径是多少mil,由于我们还是比较熟悉公制(mm,cm),所以在设计电路板时经常犯迷糊,因此特意把他们...
2. **创建项目**:使用IDEA或Eclipse等开发工具创建Maven或Gradle项目。 3. **引入依赖**:在pom.xml或build.gradle文件中添加Spring、SpringMVC、MyBatis以及相关的数据库驱动依赖。 4. **配置Spring**:编写...
作为一个二手的.net程序员,你看到了C++头文件一定就犯迷糊了,这到底是个啥玩意。再我纠结了24个小时, google20次,度娘10下,看过10来骗文章以后,我可能稍微开窍了。我对C++头文件总结,与.net比较如下: 一、...
凡从事过ST MCU应用开发的人往往会遇到事件、中断...这三个概念彼此关联,有时会让人有点混淆或犯迷糊。 先拿一件生活中的事情打比方对上述三个概念做个基本的粗略理解,之后再分享一个STM32 GPIO外部中断配置案例。
mybatis模糊查询,oracal,mysql,sqlserver三种不同数据库的不同写法