zoukankan      html  css  js  c++  java
  • Struts2值栈的相关操作

    import org.apache.struts2.ServletActionContext;
    
    import com.opensymphony.xwork2.ActionContext;
    import com.opensymphony.xwork2.ActionSupport;
    import com.opensymphony.xwork2.util.CompoundRoot;
    import com.opensymphony.xwork2.util.ValueStack;
    
    public class ValueStackAction extends ActionSupport{
    	public String testValueStack(){
    		ValueStack valueStack = ActionContext.getContext().getValueStack();
    		ValueStack valueStack2 = ServletActionContext.getContext().getValueStack();
    		ValueStack valueStack3 = (ValueStack)ServletActionContext.getRequest().getAttribute("struts.valueStack");
    		System.out.println(valueStack);
    		System.out.println(valueStack2);
    		System.out.println(valueStack3);
    		return "";
    	}
    	/*
    	 * 把数据放入对象栈中的第一种方式
    	 */
    	public String addDataToObjectStack_1(){
    		ValueStack valueStack = ActionContext.getContext().getValueStack();
    		/**
    		 * 把字符串加入到了CompoundRoot的第一个位置,我们把第一个位置称为对象栈的栈顶
    		 */
    		valueStack.push("aaaaa");
    		return "";
    	}
    	
    	/*
    	 * 把数据放入对象栈中的另外一种方式
    	 */
    	public String addDataToObjectStack_2(){
    		ValueStack valueStack = ActionContext.getContext().getValueStack();
    		/**
    		 * 把字符串加入到了对象栈中
    		 */
    		valueStack.getRoot().add("aaaa");
    		return "";
    	}
    	
    	/*
    	 * 把数据放入对象栈中的第三种方式
    	 */
    	public String addDataToObjectStack_3(){
    		ValueStack valueStack = ActionContext.getContext().getValueStack();
    		/**
    		 * 把字符串加入到了对象栈中
    		 *    把一个map放入到了对象栈的栈顶,"aaa"作为key,"asfd"作为value
    		 */
    		ActionContext.getContext().getValueStack().set("aaa", "asfd");
    		return "";
    	}
    	
    	/**
    	 * 从对象栈中把数据提取出来的方式
    	 *    第一种方式
    	 */
    	public String addDataFromObjectStack_1(){
    		ValueStack valueStack = ActionContext.getContext().getValueStack();
    		/**
    		 * 提取栈顶的元素
    		 */
    		ActionContext.getContext().getValueStack().getRoot().get(0);
    		return "";
    	}
    	
    	/**
    	 * 从对象栈中把数据提取出来的方式
    	 *    另外一种方式
    	 */
    	public String addDataFromObjectStack_2(){
    		ValueStack valueStack = ActionContext.getContext().getValueStack();
    		/**
    		 * 提取栈顶的元素
    		 */
    		ActionContext.getContext().getValueStack().peek();
    		return "";
    	}
    	
    	/*
    	 * 把对象栈的栈顶的元素移除
    	 */
    	public String removeDataFromObjectStack_1(){
    		ValueStack valueStack = ActionContext.getContext().getValueStack();
    		/**
    		 * 移除栈顶的元素
    		 */
    		ActionContext.getContext().getValueStack().getRoot().remove(0);
    		return "";
    	}
    	
    	/*
    	 * 把对象栈的栈顶的元素移除
    	 */
    	public String removeDataFromObjectStack_2(){
    		ValueStack valueStack = ActionContext.getContext().getValueStack();
    		/**
    		 * 移除栈顶的元素
    		 */
    		ActionContext.getContext().getValueStack().pop();
    		return "";
    	}
    	
    	/**
    	 * 把一个key,value键值对放入到request域中
    	 */
    	public String putObjectToRequest(){
    		ServletActionContext.getRequest().setAttribute("aaa", "aaa");
    		ValueStack valueStack = ActionContext.getContext().getValueStack();
    		return "";
    	}
    	
    	/**
    	 * 把一个key,value键值对放入到application域中
    	 */
    	public String putObjectToApplication(){
    		ServletActionContext.getServletContext().setAttribute("aaaa", "aaaa");
    		ValueStack valueStack = ActionContext.getContext().getValueStack();
    		return "";
    	}
    	
    	/**
    	 * 把一个key,value直接放在map栈中
    	 */
    	public String putDataToMapStack_1(){
    		ValueStack valueStack = ActionContext.getContext().getValueStack();
    		ActionContext.getContext().put("aaa", "aaaa");
    		return "";
    	}
    }
    

  • 相关阅读:
    微信红包限额提升方法
    微信从业人员推荐阅读的100本经典图书
    微信裂变红包
    微信公众平台开发最佳实践(第2版)
    微信公众平台开发(108) 微信摇一摇
    微信支付样例
    微信行业解决方案
    牛逼顿
    微信支付开发(4) 扫码支付模式二
    微信公众平台开发(107) 分享到朋友圈和发送给好友
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/7071634.html
Copyright © 2011-2022 走看看