MVEL语句怎么执行一个类中的方法
时间: 2024-02-24 14:55:55 浏览: 19
要执行一个类中的方法,可以使用MVEL的invokeMethod函数。具体的语法如下:
```
invokeMethod(Object obj, String methodName, Object[] args)
```
其中,obj是对象实例,methodName是方法名,args是方法参数数组。举个例子,假设有一个类Person,其中有一个getName方法,可以这样调用:
```
Person person = new Person();
String name = (String) MVEL.invokeMethod(person, "getName", null);
```
这样就可以执行Person类中的getName方法,获取到名字。需要注意的是,如果方法有参数,需要将参数传递给args数组。
相关问题
MVEL语句怎么执行bean中的方法
执行bean中的方法和执行类中的方法基本类似,只需要将bean实例作为第一个参数传入即可。假设有一个Person类,其中有一个getName方法,并且有一个person的bean实例,可以这样调用:
```
Person person = new Person();
person.setName("Alice");
String name = (String) MVEL.eval("getName()", person);
```
这里使用了MVEL的eval函数,第一个参数是要执行的表达式,第二个参数是bean实例。在表达式中,直接调用getName()方法即可执行bean中的方法。
需要注意的是,如果方法有参数,可以在表达式中使用类似person.setName("Alice")的语法来传递参数,也可以使用invokeMethod函数来执行方法,具体方式和执行类中的方法相同。
MVEL语句bean中的方法 转换成字符串
如果你要将 MVEL 语句 `bean.method()` 转换为字符串,那么最简单的方法是使用单引号将其括起来,如下所示:
```
'bean.method()'
```
如果你希望在字符串中包含变量的值,可以使用字符串拼接符 `+`,例如:
```
'bean.' + methodName + '()'
```
其中,`methodName` 是一个变量,它的值会在运行时被替换进去。