struts2值桟

发布时间:2016-12-8 0:24:51 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"struts2值桟",主要涉及到struts2值桟方面的内容,对于struts2值桟感兴趣的同学可以参考一下。

ActionContext.getContext:返回的是当前线程所对应的ActionContext(ActionContext是Action运行的上下文) //获取值桟的第一种方式:(常用) ValueStack valueStack1 = ActionContext.getContext().getValueStack(); //获取值桟的第二种方式: ValueStack valueStack2 = ServletActionContext.getValueStack(ServletActionContext.getRequest()); //获取值桟的第三种方式: ValueStack valueStack3 = (ValueStack) ServletActionContext.getRequest().getAttribute("struts.valueStack"); //往map桟里放数据一: ValueStack valueStack4 = ActionContext.getContext().getValueStack(); valueStack4.getContext().put("xxc", "xxc"); //往map桟里放数据二:(常用) ActionContext.getContext().put("haha", "haha"); //往对象栈里放数据一: ValueStack valueStack5 = ActionContext.getContext().getValueStack(); valueStack5.getRoot().add("haha");//该该元素加到了list最后 valueStack5.getRoot().add(0,"haha");//该该元素加到了list最前(栈顶) //往对象栈里放数据二:(常用) ActionContext.getContext().getValueStack().push("haha"); //获取栈顶元素一: valueStack5.getRoot().get(0); //获取栈顶元素二(顶层还是用的方法一): ActionContext.getContext().getValueStack().peek(); //这个方法是往值桟里存放map类型的数据,置于栈顶 ActionContext.getContext().getValueStack().set("name222", "xxc"); //这个方法是用来改变值桟里指定名称的属性的,如果属性名称不存在,则出异常 ActionContext.getContext().getValueStack().setValue("name222", "pkq"); //这样只是将数据放到了对象栈的栈底 Map<Object,Object> map = new HashMap<Object,Object>(); map.put("age", "20"); ActionContext.getContext().getValueStack().getRoot().add(map);//push(map)就将数据放到了栈顶,和上面那个一样的意思 狭义值桟: 通常指的是实现com.opensymphony.xwork2.util.ValueStack接口的对象,目前就是com.opensymphony.xwork2.ognl.OgnlValueStack对象。也就是上图左边部分 广义值桟: 通常指的是ActionContext对象,ActionContext是Action运行的上下文,每个ActionContext是一个基本的容器,包含着Action运行需要的数据,比如请求参数、会话等。 关于广义和狭义: 其实,在ActionContext里面是包含着狭义值桟的,正是因为这个原因,再加上ActionContext还包含其他的数据,因此把ActionContext称为广义值桟。 ValueStack有一个特点: 如果访问的值桟里有多个对象,且相同的属性在多个对象中同时出现,则值桟会按照从栈顶到栈底的顺序,寻找第一个匹配的对象。

上一篇:Oracle中to_char函数处理数字时前面的空格问题
下一篇:技术友情链接

相关文章

关键词: struts2值桟

相关评论