1.说明:结合ASTs演示Ognl取值机制,“此SAMPLE演示数据流转中的其中一环”
2.能力有限,有误差的请包含或指证
3.目的:抛砖引玉
4.内容:以下为主代码内容,javaBean(User和Company)就不贴出来了,看代码里的setter就可以构造出javaBean了
import java.util.HashMap;
import java.util.Map;
import ognl.Ognl;
import ognl.OgnlException;
/**
* 此SAMPLE主要演示表达式解析:Ognl.parseExpression(param)
* 用到了抽象语法树abstract systax trees (ASTs)
* JJTree interface for AST nodes:
* 1.ASTProperty-->PropertyAccessor
* 2.ASTVarRef
* 3.ASTChain
* 4.ASTEval
* 5.ASTStaticMethod
* 6.ASTStaticFiled
* 7.ExceptioinNode等
*
* AST Nodes作用:在节点之间提供一种构建父子关系的机制
*
* 思路:通过传递的参数param进行解析,构建相应的Node节点,
* 然后节点处理最终数值获取的业务逻辑(附流程图JJTree.jpg和Ognl取值流程图.jpg)
* @author 拈花为何不一笑
* @since 3/21/2018
*/
public class OgnlExpEngine2 {