Java:OGNL对象图导航语言基本使用示例
OGNL是Object Graphic Navigation Language(对象图导航语言)
文档
- https://commons.apache.org/proper/commons-ognl/language-guide.html
- https://github.com/orphan-oss/ognl
- https://ognl.orphan.software/developer-guide
引入依赖
<!-- https://mvnrepository.com/artifact/ognl/ognl -->
<dependency><groupId>ognl</groupId><artifactId>ognl</artifactId><version>3.3.4</version>
</dependency>
代码示例
package com.example.demo;import ognl.Ognl;
import ognl.OgnlException;
import org.junit.Test;import java.util.HashMap;
import java.util.Map;public class OGNLTests {@Testpublic void test() throws OgnlException {// 上下文contextMap<String, Object> context = new HashMap<>();context.put("message", "My name is ");// rootMap<String, Object> root = new HashMap<>();root.put("name", "Tom");// 获取root值Object name = Ognl.getValue("name", root);System.out.println(name);// Tom// 获取context值,注意#开头Object message = Ognl.getValue("#message", context, root);System.out.println(message);// My name is// 设置root值Ognl.setValue("age", context, root, 18);Object age = Ognl.getValue("age", context, root);System.out.println(age);// 18}
}
参考文章
- Ognl表达式基本原理和使用方法
- 表达式引擎–OGNL
- 强大的表达式引擎–OGNL