Valuestack | 学习笔记

简介: 快速学习 Valuestack,介绍了 Valuestack 系统机制, 以及在实际应用过程中如何使用。

开发者学堂课程【Java Web开发系列课程 - Struts2框架入门Valuestack】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/537/detail/7307


Valuestack

 

值栈和 ognl

1. OGNL 查询值时是在根对象 sturts2中的根对象就是 valuestack 查询。

2. 除了 valuestack 中的值,其他 ActionContext 中的内容需要增加来标示。

加#,告诉 ognl 不要在根对象中寻找,而是在其他上下文对象中寻找相关值。

3. 值栈的概念,即 valuestack 是 ActionContext 中的一个对象或称为属性。

从构造和本质上来说是 ActionContext 中的对象。

Sets the OGNL value stack.

ognl 表达式是从值栈开始取值。就是上述值栈就是 ognl 查询的根对象。

值栈是栈结构,其特征是 FILO(先进后出)

默认执行结束后,会将 Action 中的数据放入根对象中。正常情况下,执行结束后,只压一个对象,即 action 对象。但是,值栈中的情况是,Strusts2中值栈存放的数据是 Action 对象。这就是其本质。

Loginaction 对象有些属性之类,所以他们的属性值也一同放入其中。其中有个特殊的地方,一般的 loginaction 会将 ognl 这一层屏蔽掉。我们就不用去访问它,这就是值栈。

image.png

既然是值栈,我们也可以向其中放数据,但是我们放入的数据会将其中原有的action数据压掉。

比如,栈数据,会从上往下压,会将下面的数据挡住。假如属性名和下面的相同,就只能访问到上面的。如果不是对值栈特别了解,不建议操作值栈。 

Action 中可以获得 value stack。这个是栈,栈里面可以 push 对象,看对应值栈,从值栈中可以获得 getcontext。找值栈的起始,它的指向内。

一般是 defult,或者从文档中寻找,找文档,strust2,document,在此文档中查找value stack。可以找出它的接口。

Ognl value stack,可以向其中放数据。其中有 getroot,返回根元素。还有 pop 等如下图。

image.png

本质是一个 least,限制了数据的方向,包括队内也相同。为了使用 ognl 表达式,由类ognl value stack 来实现。

过于复杂的不建议大家使用,因为操作不好会把原有数据覆盖。需要特别注意。

相关文章
|
Kubernetes 监控 调度
在 Kubernetes 中应该如何设置 CPU 的 requests 和 limits
在 Kubernetes 中应该如何设置 CPU 的 requests 和 limits
600 0
|
C语言
初识C语言:自增与自减陷阱
初识C语言:自增与自减陷阱
200 0
QGS
|
监控
解决Zabbix5.0.8图形无法显示(中英文)图片文字标签
记解决Zabbix5.0.8图形无法显示(中英文)图片文字标签
QGS
695 0
解决Zabbix5.0.8图形无法显示(中英文)图片文字标签
|
前端开发 应用服务中间件 nginx
HTTP 头字段 Origin、Host 和 Referer 有什么区别?
HTTP 请求头字段中的 Origin、Host 和 Referer 非常相似,乍一看都是域名相关的值,非常容易弄混。我在面试中也被问过,因为没准备好而哑口无言。 今天西瓜哥我来带领大家学习这三个头字段,务必学完后能好好分清楚它们。
1603 0
|
3天前
|
数据采集 人工智能 安全
|
13天前
|
云安全 监控 安全
|
4天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1090 152
|
18天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1754 9