<1>OGNL访问数据是从StackContext中访问数据的.在OGNL数据访问系统中会假设系统中有一个"根对象",访问"要对象"中的属性或方法时,与其它对象的访问方式不太一样,一般来说访问"根对象"中的属性或方法的方式,比访问其它对象的属性或方法的方式简单.例如:在OGNL系统中有两个对象: Person对象,并且它在StackContext中的名字是p; Animal对象,并且它在StackContext中的名字是a; 以上两个对象者有name,sex属性和getter,setter方法.重要的是假设p是根对象. 下面是访问代码: //访问p的getName()方法 #p.name //访问a的getName()方法 #a.name //重点:由于p是"根对象"所以下面的代码访问p的getName()方法,这个访问方式不一样很重要. #name <2>Struts2中比传统的OGNL系统多一个ValueStack对象.并且把ValueStack对象设置成"根对象". 小结: 根对象ValueStack在StackContext的内部,StackContext包含所有的数据,当然也包含着"根对象"ValueStack.妙处就是"根对象"中的数据与StackContext中其它"非根对象"中的数据的访问方式不一样.可以与OGNL系统中"根对象"中数据的访问方式不一样,进行联系思考.
struts2中ValueStack和Stack Context二者的区别
最新推荐文章于 2018-02-25 23:07:16 发布
本文介绍了OGNL表达式在数据访问方面的特点,尤其是关于“根对象”的概念及其实现方式。在Struts2框架中,ValueStack作为根对象在数据访问中的角色尤为重要。
1471

被折叠的 条评论
为什么被折叠?



