Struts2中的技术分析之OGNL表达式概述(了解)
2017-02-25 20:49
525 查看
1. OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写 * 所谓对象图,即以任意一个对象为根,通过OGNL可以访问与这个对象关联的其它对象 * 通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性 2. Struts2框架使用OGNL作为默认的表达式语言 * OGNL是一种比EL强大很多倍的语言 * xwork提供 OGNL表达式 * ognl-3.0.5.jar 3. 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提供的标签中的标签 > <s:property value="OGNL表达式"/> 3. 在JSP页面使用OGNL表达式 * 访问对象方法 <s:property value="'hello'.length()"/>
相关文章推荐
- 技术分析之OGNL表达式概述
- Struts2系统学习(16)OGNL表达式及基本原理分析
- Struts2中ActionContext、Ognlcontext、OgnlValueStack对象关系图,ognl表达式根元素分析
- day28-struts2( struts架构分析,ognl表达式,ognl表达式)
- 【重温】_Struts2重温笔记,要点概述_OGNL表达式【二】
- 深入分析JavaWeb 48 -- Struts2中OGNL表达式与ValueStack
- 深入分析JavaWeb Item48 -- Struts2中OGNL表达式与ValueStack
- S7.2_Struts2_OGNL OGNL表达式的投影和选择技术范例,OGNL表达式#和$符号的使用范例,以及值栈
- struts2 OGNL表达式
- Struts2的OGNL表达式语言
- struts2 中 OGNL表达式的使用
- Struts2 使用OGNL表达式访问ENUM对象
- struts2 - ognl表达式 学习笔记
- struts2总结之 OGNL表达式
- LTE、Wi-Fi、3G、WiMAX等宽带无线技术的概述及分析
- Struts2中的OGNL表达式
- struts2 中 OGNL表达式的使用
- struts2——OGNL表达式!!!
- OGNL表达式struts2标签“%,#,$”
- Struts2使用16 -- 值栈与 OGNL 1 -- 概述