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

本文介绍了Struts2框架中的值栈概念及其使用方法。详细解释了值栈如何存储和检索数据,并对比了Servlet和Action的工作机制。

什么是值栈

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

 

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

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

 

3 servletaction区别

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

2Action:访问时候创建,每次访问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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值