您的位置:首页 > 编程语言 > Java开发

struts2_day03_03_什么是值栈_04_获取值栈对象

2017-12-04 22:28 477 查看

什么是值栈

1 之前在web阶段,在servlet里面进行操作,把数据放到域对象里面,在页面中使用el表达式获取到,域对象在一定范围内,存值和取值

 

2 在struts2里面提供本身一种存储机制,类似于域对象,是值栈,可以存值和取值

(1)在action里面把数据放到值栈里面,在页面中获取到值栈数据

 

3 servlet和action区别

(1)Servlet:默认在第一次访问时候创建,创建一次,单实例对象

(2)Action:访问时候创建,每次访问action时候,都会创建action对象,创建多次,多实例对象

 

4 值栈存储位置

(1)每次访问action时候,都会创建action对象,

(2)在每个action对象里面都会有一个值栈对象(只有一个)



值栈存在action对象里面

04_获取值栈对象

获取值栈对象

1 获取值栈对象有多种方式

(1)常用方式:使用ActionContext类里面的方法得到值栈对象

 


2 每个action对象中只有一个值栈对象

com.hlg.action.UserAction


package com.hlg.action;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.util.ValueStack;

public class UserAction extends ActionSupport {

// public UserAction() {
// System.out.println("创建了...");
// }

public String execute(){

ActionContext context = ActionContext.getContext();
ValueStack valueStack1 = context.getValueStack();
ValueStack valueStack2 = context.getValueStack();

System.out.println(valueStack1==valueStack2);
return NONE;
}
}


输出:true
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: