OGNL 数据流转的催化剂

本文深入探讨了MVC框架中数据在不同层次上的角色与表现形式差异,重点介绍了表达式引擎如何作为关键桥梁实现数据在各模块间的高效沟通。通过解析OGNL三要素及其应用,阐述了表达式引擎在数据映射、语法计算及类型转换方面的强大功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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指针的引用

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值