struts2中 值栈的传值和接收值

今天也学到值栈的传值和接收以下记录下

一般值栈都是对root进行操作,若想对context进行操作,则需ServletActionContext进行传值即可

共分为给对象,集合,context中传值和接收

action java类中

// 操作valuestack
		// 获取值栈  此类方式,将添加的对象压入栈顶,前端页面可以直接通过属性名调用
		ValueStack valueStack = ActionContext.getContext().getValueStack();
		// push(Object Object)   set(String key,Object obj)
		// 对对象采用push,对集合采用set
		User user = new User("杨六郎","你猜啊");
		valueStack.push(user);
		
		// 向集合内传值
		List<User> list = new ArrayList<User>();
		list.add(new User("张三", "zs"));
		list.add(new User("李四", "ls"));
		list.add(new User("王五", "ww"));
		valueStack.set("list", list);

		// 想context中传值
		ServletActionContext.getRequest().setAttribute("reqName", "reqValue");
		ServletActionContext.getRequest().getSession().setAttribute("sessName", "sessValue");
		ServletActionContext.getServletContext().setAttribute("appName", "appValue");
		

jsp页面接收值

<s:debug/>
<h1>获取值栈中对象数据</h1>
<s:property value="userName"/>
<s:property value="password"/>
<br>
<h1>获取值栈中集合内数据</h1>
<s:property value="list[0].userName"/>
<s:property value="list[0].password"/><br>
<s:property value="list[1].userName"/>
<s:property value="list[1].password"/><br>
<s:property value="list[2].userName"/>
<s:property value="list[2].password"/><br>
<h1>获取context中内容</h1>
<s:property value="#request.reqName"/>
<s:property value="#session.sessName"/>
<s:property value="#application.appName"/>

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值