Struts2 (三)OGLN
01.OGNL 的历史
OGNL 最初是为了能够使用对象的属性名来建立 UI 组件 (component) 和 控制器 (controllers) 之间的联系,简单来说就是:视图 与 控制器 之间数据的联系。后来为了应付更加复杂的数据关系,Drew Davidson 发明了一个被他称为 KVCL(Key-Value Coding Language) 的语言。 Luke 参与进来后,用 ANTLR 来实现了该语言,并给它取了这个新名字,他后来又使用 JavaCC 重新实现了该语言。目前 OGNL 由 Drew 来负责维护。目前很多项目中都用到了 OGNL,其中不乏为大家所熟知的,例如几个流行的 web 应用框架:WebWork,Tapestry 等。
02.什么是OGNL
OGNL:Object Graph Navigation Language 对象导航图语言
开源项目,取代页面中Java脚本,简化数据访问
和EL同属于表达式语言,但功能更为强大
让我们通过简单一致的表达式语法来读取和设置Java对象的属性值,调用对象的方法,遍历整个对象的结构图,实现字段类型转换等功能。
03.OGNL在Struts 2中的作用
表达式语言
将表单或Struts 2标签与特定的Java数据绑定起来,用来将数据移入、移出框架
类型转换
数据进入和流出框架,在页面数据的字符串类型和Java数据类型之间进行转换
03.值栈与OGNL
值栈(ValueStack)
由Struts 2框架创建的存储区域,具有栈的特点
Action的实例会被存放到值栈中
OGNL访问值栈
按照从上到下的顺序,靠近栈顶的同名属性会被读取
04.为什么进行类型转换
在基于HTTP协议的Web应用中
客户端请求的所有内容都以文本编码方式传输到服务器端,服务器端的编程语言却有着丰富的数据类型
Servlet中,类型转换工作由开发者自己完成
action
struts.xml
jsp
转载于:https://www.cnblogs.com/1612ss/p/8472938.html
Struts2 (三)OGLN相关推荐
- Struts2三种传参方式(从jsp页面传到Action)
多的不说,直接上代码;struts.xml代码:<?xml version="1.0" encoding="UTF-8"?> <!DOCTYP ...
- 关于Struts2三种访问Servlet API方式的总结
在开发j2ee过程中,通常我们需要访问的Servlet API是:HttpSession,HttpservletRequest,ServletContext,这三者分别对应于JSP的内置对象:sess ...
- struts2(三) 输入校验和拦截器
前面知道了struts2的架构图和struts2的自动封装表单参数和数据类型自动转换,今天来学struts2的第三第四个东西,输入校验和拦截器, --WH 一.输入校验 在以前我们写一个登录页面时,并 ...
- SpringMVC学习——对于SpringMVC的整体认识
文章目录 一.首先什么是SpringMVC? 二.同类的技术有哪些? 三.对比同类的优缺点是哪些? 四.SpringMVC的组成部分? 五.SpringMVC项目的架构图 一.首先什么是SpringM ...
- ApacheCN JavaWeb 译文集 20211017 更新
使用 Spring5 构建 REST Web 服务 零.前言 一.一些基本知识 二.在 Spring5 中使用 Maven 构建 RESTfulWeb 服务 三.Spring 中的 Flux 和 Mo ...
- JavaWeb框架-SSH-整合流程!
话说 前面几篇博客陆续总结了Hibernate.Struts2.Spring,无疑Spring是其中最耀眼的明星.SSH框架虽然已不再是主流,但是他们曾经辉煌过.我们不能忘记历史,对否? 目标:整合S ...
- java struts2值栈ognl_Struts2 (三) — OGNL与值栈
一.OGNL表达式 1.概述 1.1什么是OGNL OGNL是Object-Graph Navigation Language的缩写,俗称对象图导航语言. 它是一种功能强大的表达式语言,通过它简单 ...
- Struts2中action接收参数的三种方法及ModelDriven跟Preparable接口结合JAVA反射机制的灵活用法...
Struts2中action接收参数的三种方法及ModelDriven跟Preparable接口结合JAVA反射机制的灵活用法 www.MyException.Cn 发布于:2012-09-15 ...
- struts2 ognl 判断数据类型_新华三攻防系列之防护篇从防护角度看Struts2历史漏洞...
前言 Struts2漏洞是一个经典的漏洞系列,根源在于Struts2引入了OGNL表达式使得框架具有灵活的动态性.随着整体框架的补丁完善,现在想挖掘新的Struts2漏洞会比以前困难很多,从实际了解的 ...
最新文章
- Forefront_TMG_2010-TMG发布Web服务器
- 剑指offer--求1+1+3+....n的和
- 程序员如何用糖果实现盈利 - [别人家的程序员01]
- [易学易懂系列|golang语言|零基础|快速入门|(一)]
- beginnersbook C++ 教程·翻译完成 | ApacheCN
- 我的Android第五章:通过Intent实现活动与活动之间的交互
- 模拟电子技术基础 --1. 常用半导体器件
- 静态多层Map缓存清除
- 编程之美4.7蚂蚁爬杆扩展问题附猎人抓狐狸(必胜策略)
- MySQL基本架构示意图
- 【java】getResourceAsStream(“.properties“)配置文件无法读入问题
- 七、Fiddler工具 — Statistics(统计)面板
- itchat给指定联系人发消息
- 线程实用解析--------(六)Control.Invoke()和Control.BeginInvoke()
- 微信辅助验证 信息填写正确 却提示绑卡信息错误的解决办法
- 空调变频和定频的区别?
- Mac OS X的Spotlight综述
- Nervos 双周报第 9 期:CKB Testnet 要上线?
- 中国菜刀上传一句话木马,巴西烤肉提权
- TWaver可视化软件(四)电力可视化 上