是什么是值棧?
簡(jiǎn)單的說仪或,值棧就是框架創(chuàng)建的一個(gè)存儲(chǔ)區(qū)域确镊,用來保存Model對(duì)象(自定義Action對(duì)象的屬性都會(huì)放到值棧中)。它具有棧的特征范删,可以存放多個(gè)對(duì)象蕾域,如果存放多個(gè)對(duì)象,他們是按照先后順序要入堆棧的(先進(jìn)后出)到旦。當(dāng)使用OGNL表達(dá)式查找對(duì)應(yīng)的屬性時(shí)旨巷,會(huì)從棧頂開始一次往下找,一直找到棧底添忘。
下面看一張圖
我們可以看到對(duì)于Age表達(dá)式來說采呐,取到的屬性為myModel的age屬性,因?yàn)樗嬖谂c棧頂搁骑;而對(duì)于id屬性來說斧吐,它取到的則是myAction的id屬性,因?yàn)樵谒皼]有id屬性仲器。
注:我們只需要了解值棧煤率,必要的時(shí)候我們從值棧中取數(shù)據(jù),而不建議我們自己操縱值棧乏冀。