ActionContext、ValueStack、Stack Context 间的关系

jeremyyang824 2008-07-06 01:40:56
最近在学习Struts2,对于其中的ActionContext、ValueStack、Stack Context之间的关系总感觉有些模糊,网上找了下也没有详细分析的文章,不知各位对于它们之间的关系如何理解?
...全文
2655 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
写程序数星星 2012-08-09
  • 打赏
  • 举报
回复
不是特别明白 学习
yangzhenni 2011-12-04
  • 打赏
  • 举报
回复
说的好抽象,不明白啊
xyx875118 2011-11-09
  • 打赏
  • 举报
回复
不明白
jackaudrey 2010-05-14
  • 打赏
  • 举报
回复
那我要是没有表单就没有valueStack啦?
M_song 2008-07-07
  • 打赏
  • 举报
回复

ActionContext


一次Action调用都会创建一个ActionContext
调用:ActionContext context = ActionContext.getContext()




ValueStack


由OGNL框架实现
可以把它简单的看作一个List


Stack Object:放入stack中的对象,一般是action。
Stack Context(map):stack上下文,它包含一些列对象,包括request/session/attr/application map等。
EL:存取对象的任意属性,调用对象的方法,遍历整个对象结构图。
www203 2008-07-07
  • 打赏
  • 举报
回复
看源码你就会发现,ActionContext这个类中有一个变量:
Map context,
实际上调用ActionContext的put,get 就相当于调用context的相就方法,你在页面上通过获取的就相当于调用context.get("request"),context.get("attr"),而你通过ac.put("list", List)也只能通过ac.get("list")获得。
而ActionContext.getValueStack()相当于调用context.get(OgnlValueStack.VALUE_STACK)所获取的与通过ActionContext.get("request")获取的是不一样的东西
  • 打赏
  • 举报
回复
模糊中。。。。。。。。
pilishou 2008-07-07
  • 打赏
  • 举报
回复
一次Action调用都会创建一个ActionContext
调用:ActionContext context = ActionContext.getContext()
ValueStack由OGNL框架实现
可以把它简单的看作一个集合
Stack Object:放入stack中的对象,一般是action
Stack Context(map):stack上下文,它包含一些列对象,包括request/session/attr/application map等。
EL:存取对象的任意属性,调用对象的方法,遍历整个对象结…
zidasine 2008-07-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 M_song 的回复:]

ActionContext


一次Action调用都会创建一个ActionContext
调用:ActionContext context = ActionContext.getContext()


ValueStack


由OGNL框架实现
可以把它简单的看作一个List


Stack Object:放入stack中的对象,一般是action。
Stack Context(map):stack上下文,它包含一些列对象,包括request/session/attr/application map等。
EL:存取对象的任意属性,调用对象的方法,遍历整个对象结…
[/Quote]
[Quote=引用 6 楼 yirentianran 的回复:]
ActionContext是Action上下文
可以得到request session application
ValueStack是值栈 存放表单中的值
Stack Context 栈上下文 也是用来存值的
[/Quote]
解释的很清楚。。。学习了
胡矣 2008-07-07
  • 打赏
  • 举报
回复
ActionContext是Action上下文
可以得到request session application
ValueStack是值栈 存放表单中的值
Stack Context 栈上下文 也是用来存值的
cuilike 2008-07-06
  • 打赏
  • 举报
回复
我最近也在学习。。已经在项目中实现了Struts2+spring2.5+hibernate3.2的整合。。。只是应用了下。。。关注

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧