博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
技术分析之OGNL表达式概述
阅读量:5157 次
发布时间:2019-06-13

本文共 1574 字,大约阅读时间需要 5 分钟。

1. OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写    * 所谓对象图,即以任意一个对象为根,通过OGNL可以访问与这个对象关联的其它对象    * 通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性2. Struts2框架使用OGNL作为默认的表达式语言    * OGNL是一种比EL强大很多倍的语言    * xwork提供 OGNL表达式    * ognl-3.0.5.jar3. OGNL 提供五大类功能   * 支持对象方法调用   * 支持类静态的方法调用和值访问   * 访问OGNL上下文(OGNL context)和ActionContext   * 支持赋值操作和表达式串联   * 操作集合对象4. 测试的代码    // 访问对象的方法    @Test    public void run1() throws OgnlException{        OgnlContext context = new OgnlContext();        // 获取对象的方法        Object obj = Ognl.getValue("'helloworld'.length()", context, context.getRoot());        System.out.println(obj);    }    // 获取OGNL上下文件的对象    @Test    public void run3() throws OgnlException{        OgnlContext context = new OgnlContext();        context.put("name", "美美");        // 获取对象的方法        Object obj = Ognl.getValue("#name", context, context.getRoot());        System.out.println(obj);    }    // 从root栈获取值    @Test    public void demo3() throws OgnlException{        OgnlContext context = new OgnlContext();        Customer c = new Customer();        c.setCust_name("haha");        context.setRoot(c);        String name = (String) Ognl.getValue("cust_name", context, context.getRoot());        System.out.println(name);    }

技术分析之在Struts2框架中使用OGNL表达式

1. Struts2引入了OGNL表达式,主要是在JSP页面中获取值栈中的值2. 具体在Struts2中怎么使用呢?如下步骤    * 需要先引入Struts2的标签库        > <%@ taglib prefix="s" uri="/struts-tags" %>    * 使用Struts2提供的标签中的标签        > 
3. 在JSP页面使用OGNL表达式 * 访问对象方法

转载于:https://www.cnblogs.com/jianxin-lilang/p/6489818.html

你可能感兴趣的文章
5G边缘网络虚拟化的利器:vCPE和SD-WAN
查看>>
MATLAB基础入门笔记
查看>>
【UVA】434-Matty&#39;s Blocks
查看>>
Android开发技术周报 Issue#80
查看>>
hadoop2.2.0+hive-0.10.0完全分布式安装方法
查看>>
django知识点总结
查看>>
C++ STL stack、queue和vector的使用
查看>>
使用Reporting Services时遇到的小问题
查看>>
约瑟夫问题
查看>>
Arduino 报错总结
查看>>
树莓派Android Things物联网开发:树莓派GPIO引脚图
查看>>
矩阵快速幂---BestCoder Round#8 1002
查看>>
js兼容公用方法
查看>>
如何将应用完美迁移至Android P版本
查看>>
【转】清空mysql一个库中的所有表的数据
查看>>
基于wxPython的python代码统计工具
查看>>
淘宝JAVA中间件Diamond详解(一)---简介&快速使用
查看>>
Hadoop HBase概念学习系列之HBase里的宽表设计概念(表设计)(二十七)
查看>>
Kettle学习系列之Kettle能做什么?(三)
查看>>
Day03:Selenium,BeautifulSoup4
查看>>