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);

 }
 
}

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐