posts - 3,  comments - 1,  trackbacks - 0
          WebWork之Session
          由于WebWork對request,parameter,Session和Application都進(jìn)行了封裝,將這些隱含的對象封裝成了相應(yīng)的Map,如RequestMap,ParameterMap,SessionMap和ApplicationMap,而這些Map就組成了ActionContext,因此我們通常都不再需要與request,session這些底層的對象打交道了,這也是我一開始覺得迷惑的地方,因?yàn)槲艺也坏絊ession了。事實(shí)上,對于SessionMap的處理即是對Session的處理了。我們可以通過ActionContext的靜態(tài)方法getContext返回一個(gè)ActionContext的實(shí)例,然后再調(diào)用其getSession方法獲得SessionMap,接著就可以利用put和get方法對session進(jìn)行讀寫的操作了。
                  而在頁面上,我們可以通過以下的方式對session進(jìn)行操作:
          <webwork:property value="#session.name" />
                  #session.name表示從SessionMap中取得與"name"這個(gè)key對應(yīng)的對象,實(shí)際上是調(diào)用了如下的statement:ActionContext.getContext().getSession().get("name"),并且進(jìn)行了類型的轉(zhuǎn)換。又如:     
          <webwork:property value="#session.player.name" />
                  則是在SessionMap中獲得了Player對象之后,并調(diào)用類Player的getter方法:getName()獲得name屬性。
                  簡而言之,為了能夠降低與部署環(huán)境的耦合程度,WebWork將Servlet的隱含對象進(jìn)行了封裝,這在很大程度上簡化了開發(fā)的工作。而且WebWork也提供了類ServletActionContext,我們通過這個(gè)類中的getRequest方法獲得原始的HttpServletRequest,然后就可以對request和session這些底層對象進(jìn)行操作了。但是,一般情況下,利用ActionContext.getSession()可以完成幾乎所有的工作了,我們又為什么要去碰那些底層的東西呢?因此我們應(yīng)該優(yōu)先考慮使用SessionMap,而不是底層的session。
                  另外一個(gè)需要注意的問題,就是SessionMap和隱藏對象session的作用域是不同的。也就是說,通過 ActionContext.getContext().getSession().put("name","Fantasy Soft"),往SessionMap中寫入了與"name"這個(gè)key相對應(yīng)的內(nèi)容,但是在頁面上通過session.getAttribute("name")得到的將會是null。
          posted on 2005-10-19 10:45 夜來風(fēng)雨聲 閱讀(474) 評論(0)  編輯  收藏 所屬分類: webwork

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(1)

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          技術(shù)

          搜索

          •  

          最新評論

          • 1.?re: Tomcat ssl配置補(bǔ)充
          • 您好:
            我也出現(xiàn)了這樣的問題
            keytool錯(cuò)誤: java.lang.Exception: 無法從回復(fù)中建立鏈接

            具體是怎么解決的?能解釋一下么?謝謝了
          • --benben

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 腾冲县| 汉川市| 萍乡市| 闽清县| 博野县| 勃利县| 盐源县| 濮阳市| 城口县| 南充市| 嵩明县| 大竹县| 上林县| 安远县| 文安县| 南丹县| 洛宁县| 宕昌县| 永德县| 锡林郭勒盟| 盐亭县| 田林县| 昭苏县| 江山市| 册亨县| 文成县| 普定县| 穆棱市| 巫山县| 桑日县| 吉安市| 萍乡市| 滨州市| 增城市| 双柏县| 汝阳县| 太湖县| 满洲里市| 永泰县| 惠安县| 综艺|