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)