Javadream

          A long way and a dream.

          導(dǎo)航

          <2007年7月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          常用鏈接

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          Java程序員的心聲

          搜索

          •  

          最新評(píng)論

          理解WW的ValueStack

          Posted on 2007-07-06 17:48 oxl 閱讀(1102) 評(píng)論(0)  編輯  收藏 所屬分類: 技術(shù)感語(yǔ)
          跟著《Webwork in Action》學(xué)到了OGNL,一直對(duì)ValueStack的概念很模糊,而書(shū)里也沒(méi)有介紹清楚,我一直以來(lái)連ValueStack里Action是在棧頂呢還是在哪里一層都不清楚,怎么把一個(gè)自定義的對(duì)上push到ValueStack上,如果在action的execute中push,他是在棧頂呢,還是次于Action呢?

          其實(shí)在WW中,ValueStack的棧結(jié)構(gòu)是這樣的,在執(zhí)行Action之前把Action壓入棧,這時(shí)Action就是棧頂,然后在Action.execute()時(shí)再把自定義的bean壓入棧,那么這時(shí)這個(gè)自定義的bean就在棧頂了。所以在下面這樣的JSP代碼中,是先從自定義bean查起,然后才到Action。
          <ww:property value="name" />

          在ActionContext上下文中,默認(rèn)是從OgnlValueStack去查找,因?yàn)檫@樣,所以在在查找OgnlValueStack的值時(shí)是不用#來(lái)標(biāo)明它所在的值棧。而像Session和Application這樣的Map,則需要前綴,像這樣:#session.xxx,#application.xxx。

          至于怎么在ActionContext中添加類似于Session的Map,只有一個(gè)方法就是調(diào)用put方法。

          講得很粗略,不過(guò)內(nèi)里已經(jīng)了清楚了。
          主站蜘蛛池模板: 辉县市| 鸡泽县| 西乌珠穆沁旗| 化州市| 酒泉市| 同心县| 四会市| 泰宁县| 福贡县| 丹凤县| 峨眉山市| 济阳县| 金阳县| 佛学| 台东县| 修水县| 金坛市| 武冈市| 南靖县| 微山县| 武平县| 浮山县| 莎车县| 镇沅| 图木舒克市| 沧州市| 汽车| 汕头市| 鹤岗市| 通道| 平阴县| 禄劝| 即墨市| 图片| 溧阳市| 临桂县| 新宾| 彩票| 玉田县| 固镇县| 凤凰县|