ActionContext、ValueStack、OGNL | 学习笔记

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

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

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


ActionContext、ValueStack、OGNL

 

目录:

一.LoginAction 代码

二.root 下的元素

三.栈顶元素

 

一. LoginAction 代码

package cn.sxt.action;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.util.ValueStack;public class LoginAction private String name;private String pwd;
//处理方法
public String execute()System.out.println(name+"---"+pwd);if("siggy".equals(name)&&"1111".equals(pwd))//获取sessionActionContext.getContext().getSession().put("user", name);

ValueStack VS = ActionContext.getContext().getValueStack();

System.out.println("name=e="+vs.findString("name"));

user user = new User( );

user.setName("张三疯")return "success";elsereturn"login";return" success" ;elsereturn"login

注:

ognl 表达式取的是值栈和 ActionContext 里面的数据,值栈的数据可取但是不可修改。值栈与 ActionContext 可以互取数据。

运行结果:
用户名:lisi 【action 中的属性】

用户名:【action 中的属性】

用户名:siggy——-----—---------退出

2.root 下的两个元素

LoginAction@263534c1

Default TextProvider@6f1a7e7f

3.栈顶元素

在 loginaction 中创建一个 user 对象

User user=new User();

user.setName("张三疯");

vs.push(user);

运行结果

Root 里面的元素会变成三个

elementData  Object[2] (id=133)

User  (id=98)

LoginAction (id=73)

2访问 pwd

用户名:pwd"/>[action中的属性]

用户名:---->

运行结果

用户名:1111[action 中的属性]

用户名siggy-------------退出

(3)访问 name

用户名:name"/>[action中的属性]

用户名:---->

运行结果

用户名:张三疯[action 中的属性]

用户名 siggy-------------退出

41表示栈顶元素

用户名:[action中的属性]

用户名:---->

结果:

用户名:siggy [action 中的属性]

用户名siggy-------------退出

注:

最新访问的是栈顶元素,访问 name 时将栈顶里面的元素覆盖,

一般不动值栈元素,要放在 action 中操作,相对于比较保险。

(5)访问 valuestack

用户名:[action中的属性]

用户名:valuestack.[1].name"/>[action中的属性]

用户名:

---->

运行结果

用户名:siggy [action 中的属性]

用户名:[action 中的属性]

用户名:siggy_-------------退出

注:这种不可取

相关文章
|
Java 开发者
Valuestack | 学习笔记
快速学习 Valuestack,介绍了 Valuestack 系统机制, 以及在实际应用过程中如何使用。
Valuestack | 学习笔记
|
移动开发 安全 Java
ActionContext 一 | 学习笔记
快速学习 ActionContext 一 ,介绍了 ActionContext 一 系统机制, 以及在实际应用过程中如何使用。
ActionContext 一 | 学习笔记
|
安全 Java API
ActionContext 二 | 学习笔记
快速学习 ActionContext 二,介绍了 ActionContext 二系统机制, 以及在实际应用过程中如何使用。
ActionContext 二 | 学习笔记
|
存储 Java 对象存储
Struts2【OGNL、ValueStack】
Struts2【OGNL、ValueStack】
106 0
Struts2【OGNL、ValueStack】
Struts2中:值栈(ValueStack)、值栈中的Action实例、Struts2中的其他命名对象 小结
值栈(ValueStack)        Struts2将OGNL上下文设置为Struts2中的ActionContext(内部使用的仍然是OgnlContext),并将值栈设为OGNL的根对象。
1544 0
|
存储 Java
Struts2【OGNL、valueStack】就是这么简单
什么是OGNL表达式? OGNL是Object Graphic Navigation Language 是操作对象属性的开源表达式。 Struts2框架使用OGNL作为默认的表达式语言。 为什么我们学习OGNL 在学习JSP的时候,我们已经学习过了EL表达式。
2090 0