OGNL 作为struts2的一个表达式,这里只介绍它的运算符
用途,一个string的字符串 String a=“1+1”,如何计算出 a=2 呢,很多开源jar包都可以做到这一点,自己写个代码也可以实现,这里,用ognl运算符来实现,看代码:
package test;
import ognl.Ognl;
import ognl.OgnlException;
public class COgnlTest<Variable> {
public static void main(String[] args) throws ScriptException, OgnlException{
//这样是不行的
// String a="1+1";
// System.out.println(Long.valueOf(a));
//这样也是不行的
Object whoExp = Ognl.parseExpression("1+1");
System.out.println(whoExp);
String dep=null;
Object output = Ognl.getValue("1+1", dep);
// String a="1l";
// String b="1l";
// Object output = Ognl.getValue("#a==#b", dep);
System.out.println("output:"+output);
}
}