Struts2的一些用法

ActionContext 的作用:

向前台JSP页面传递数据:
ActionContext.getContext().getSession() 获取的是session,然后用put存入相应的值,只要在session有效状态下,这个值一直可用

ActionContext.getContext().put(“x”, x) 默认的是request,在这个request未结束之前都是可用的

ActionContext ac = ActionContext.getContext();
// ac.getSession().put(key, value); 保存在session作用域
// ac.getApplication().put(key, value); 保存在Application作用域
// ac.put(key, value); 保存在request作用域

Value Stack的作用:

  1. 可以作为一个数据中转站

  2. 用于在前台-后台之间传递数据,最典型的做法就是struts2标签也ognl表达式的结合。我用得最多的就是数据回显。

  3. ActionContext.getContext().getValueStack().push(x),在Struts2中,一个请求在最终到达Action的方法之前,Action对象本身会被压入ValueStack,可以把一个对象直接压入到valuestack中。
  4. 为什么说会把对象压入栈顶?通过查看源码我们可以清楚的知道:

push方法:

这里写图片描述

再查看root的push方法:

这下是不是就明白为什么能将对象压入栈顶了。

Interator标签当前迭代的对象在栈顶。 Iterator标签的value可以不写,默认是迭代栈顶元素。

你可能感兴趣的:(struts)