什么是ValueStack
Posted 婧児_实践,实践,再实践!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是ValueStack相关的知识,希望对你有一定的参考价值。
转载自:http://www.cnblogs.com/zyw-205520/archive/2012/09/12/2681346.html
Strut2的Action类通过属性可以获得所有相关的值,如请求参数属性值等。要获得这些参数值,我们要做的唯一一件事就是在Action类中声明与参数同名的属性。在Struts2调用Action类的Action方法(默认是execute方法)之前,就会为相应的Action属性赋值。要完成这个功能,有很大程度上,Struts2要依赖于ValueStack对象。这个对象贯穿整个Action的生命周期,每个Action类的对象实例会拥有一个ValueStack对象。
当Struts2接收到一个.action的请求后,会先建立Action类的对象实例,但并不会调用Action方法,而是先将Action类的相应属性放到ValueStack对象的顶层节点(ValueStack对象相当于一个栈)。只是所有的属性值都是默认的值,如String类型的属性值为null,int类型的属性值为0等。在处理完上述工作后,Struts 2就会调用拦截器链中的拦截器,这些拦截器会根据用户请求参数值去更新ValueStack对象顶层节点的相应属性的值,最后会传到Action对象,并将ValueStack对象中的属性值,赋给Action类的相应属性。当调用完所有的拦截器后,才会调用Action类的Action方法。ValueStack会在请求开始时被创建,请求结束时消亡。
以上是关于什么是ValueStack的主要内容,如果未能解决你的问题,请参考以下文章
什么是帧数?什么是FPS?什么是PING?什么是延迟?什么是延时?什么是延迟时间?什么是时延?.