`

OGNL 数据流转的催化剂

 
阅读更多

view 层 表现为字符串展现

control层 表现为java对象

 

数据在不同的mvc层次上,扮演的角色和表现形式不同,这是由于http协议与java的面向对象性直接的不匹配造成的

 

数据访问的困境,主要还是来源于数据模型在某些层次的展现缺乏足够的表现力

 

表达式引擎在web开发中能够完成规则化字符串表达式与java对象直接的相互转化,因而他成为架起mvc各个模块之间数据沟通的桥梁

表达式有引擎应该能处理表达与对象直接的映射关系,这种映射关系应是双向的

表达式引擎应该能支持丰富多样的表达式语法计算

表达式引擎应该能支持必要的数据类型转换

 

 

OGNL三要是

表达式

ROOT对象

上下文环境

 

 

ognl 支持类似数据库中的投影 和选择功能

 

OgnlContext中要处理的类

_root  要维护的Root对象  他是OGNL主要的操作对象

_value 被看重真早的容器  并在ognl的计算中发挥作用

ClassResolver 处理类之间的关系

TypeConverter   类型转换处理类

MemberAccess 处理属性访问的处理方式

 

 

 

 

ognl中的this 指向了当前计算的调用这对应的实例

 

 

关于#符合的三种用途

 

 

加在普通ognl表达式前面,用于访问ognl上下文中的变量

 使用#{}语法动态构建map

加在this指针之前表示对this指针的引用

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    ognl表达式 ognl表达式

    在Struts2中,OGNL的核心组件之一是`ValueStack`,它充当了OGNL表达式的数据源。`ValueStack`是一个存储数据的栈结构,包含了所有的模型对象以及请求、会话和应用范围的数据。开发者可以通过EL表达式直接访问`...

    ognl.jar资源包

    camel-ognl-1.6.4.jar, camel-ognl-2.8.1.jar, com.springsource.org.ognl-2.6.9.jar, com.springsource.org.ognl-sources-2.6.9.jar, ognl-2.5.1.jar, ognl-2.6.11.jar, ognl-2.6.3.jar, ognl-2.6.5.jar, ognl-...

    struts2.0中的ognl

    1. 表单数据绑定:在Struts2中,用户提交的表单数据可以直接通过OGNL绑定到Action类的属性上,简化了数据处理的复杂性。 2. 视图渲染:在JSP页面中,我们可以通过OGNL表达式来访问Action对象的属性,动态地生成HTML...

    ognl源码和ognl帮助文档.rar

    OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,常用于Java应用,特别是Struts2框架中,用于数据绑定和动态方法调用。在这个压缩包中,包含的是OGNL的源码和帮助文档,这对于深入理解OGNL的工作...

    ognl英文帮助文档

    Struts2是Apache软件基金会的一个开源MVC框架,其中OGNL作为其默认的视图表达式语言,用于数据绑定和控制流程。 这篇“ognl英文帮助文档”可能是OGNL的官方或非官方指南,旨在帮助开发者理解和掌握如何在Struts2...

    OGNL教程,简单,看完懂OGNL语言

    随着时间的发展,OGNL逐渐演变为处理复杂数据关系的语言,广泛应用于多个知名Web框架,如WebWork(Struts2的前身)和Tapestry。 OGNL的语法简洁而强大,其基本单位是“导航链”,它可以用来访问对象的属性、调用...

    ognl源码及API

    通过阅读源码,你可以了解OGNL是如何处理复杂的数据结构,如数组、集合和映射,以及如何处理方法调用和条件语句的。 对于开发人员来说,理解ognl的异常处理机制也非常重要。当OGNL表达式执行出错时,它会抛出`...

    开发工具 ognl-3.1.12

    开发工具 ognl-3.1.12开发工具 ognl-3.1.12开发工具 ognl-3.1.12开发工具 ognl-3.1.12开发工具 ognl-3.1.12开发工具 ognl-3.1.12开发工具 ognl-3.1.12开发工具 ognl-3.1.12开发工具 ognl-3.1.12开发工具 ognl-3.1.12...

    OGNL表达式的使用及文档

    1. **Spring MVC**:在Spring MVC中,OGNL用于视图层的数据绑定,如`<form:input path="user.name"/>`。 2. **Struts 2**:Struts 2的Action对象和视图之间的数据传递也依赖于OGNL。 四、文档学习与翻译 由于提供...

    ognl源代码以及api文档

    2. **ognl.util包**:提供了实用工具类,如`TypeConverter`用于类型转换,`StringTokenizer`用于字符串分隔,帮助ognl处理不同类型的数据。 3. **ognl.security包**:ognl的安全管理组件,防止恶意的ognl表达式执行...

    OGNL中文版详细文档

    5. 对象到数据类型的强制转换 将对象解释为布尔值 将对象解释为数值 将对象解释为整数 将对象解释为集合 附录A. OGNL语言参考 操作符 表格一览 3.1. OGNL 表达式元素 4.1. 集合的特殊伪属性 A.1. OGNL 操作...

    OGNL学习笔记,包含struts2中ognl的各种用法

    OGNL(Object-Graph Navigation Language)是Struts2框架中常用的一种表达式语言,用于在视图层方便地访问和操作模型数据。本篇笔记主要介绍了在Struts2中使用OGNL的一些基本用法。 首先,OGNL可以用来获取不同范围...

    ognl的jar包

    标题中的“ognl的jar包”指的是OGNL库的Java Archive(JAR)文件,这是一种Java平台特有的归档格式,通常包含类文件、资源文件以及元数据,便于在Java应用中分发和使用。描述中的“ognl-3.0.6-sources的jar包”是指...

    OGNL百度百科OGNL百度百科

    OGNL 是一种标准的表达式语言(Expression Language),允许以统一的方式从对象中提取数据。其独特的语法结构使得它能够在复杂的数据结构中进行导航并获取所需的数据。 #### 二、OGNL 的特点与应用 **特点:** 1....

    ognl-3.0.21.jar ognl.jar

    OGNL是一种强大的表达式语言,广泛用于Java应用程序,尤其是Web开发框架如Struts 2中,用于在模型、视图和控制器之间绑定数据和控制流程。 **OGNL简介** OGNL(Object-Graph Navigation Language)是一种强大的...

    ognl图形导航语言

    总的来说,OGNL是Struts2框架中的关键组成部分,它提供了强大的数据访问和操作能力。然而,其灵活性也意味着在实际使用中需要谨慎处理符号和表达式,以避免潜在的问题。熟悉这些特性,将有助于提高开发效率并确保...

    ognl-3.2.21-API文档-中文版.zip

    赠送jar包:ognl-3.2.21.jar; 赠送原API文档:ognl-3.2.21-javadoc.jar; 赠送源代码:ognl-3.2.21-sources.jar; 赠送Maven依赖信息文件:ognl-3.2.21.pom; 包含翻译后的API文档:ognl-3.2.21-javadoc-API文档-...

    ognl-2.7.3-src

    OGNL 广泛应用于许多 Java 框架,如 Struts2、SpringMVC 等,作为视图层和模型之间的数据绑定工具,使得开发者可以方便地在视图中动态访问和操作模型数据。 通过研究 `ognl-2.7.3-src`,开发者可以深入理解 OGNL ...

    OGNL3.06帮助文档

    OGNL(Object-Graph Navigation Language)是一种强大的表达式...通过阅读和查阅这个帮助文档,开发者可以更好地掌握OGNL的使用技巧,提升其在Java应用中的编程效率,特别是对于需要处理复杂对象交互和数据绑定的场景。

    ognl-2.6.11.jar

    在Struts2框架中,OGNL作为默认的表达式语言,用于视图和控制器之间的数据传递。 **1. OGNL简介** OGNL,全称为Object-Graph Navigation Language,是一种强大的、灵活的、基于Java的表达式语言,它允许程序开发者...

Global site tag (gtag.js) - Google Analytics