<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 431,  comments - 344,  trackbacks - 0
    ActionContext 介紹
    Web 應用程序開發中,除了將請求參數自動設置到 Action 的字段中,我們往往也需要在 Action 里直接獲取請求 (Request) 或會話( Session )的一些信息 , 甚至需要直接對 JavaServlet Http 的請求( HttpServletRequest )、響應 (HttpServletResponse) 操作。
    我們需要在 Action 中取得 request 請求參數“ username ”的值:
    ActionContext context = ActionContext.getContext();
    Map params = context.getParameters();
    String username = (String) params.get(“username”);
    ActionContext com.opensymphony.xwork.ActionContext )是 Action 執行時的上下文,上下文可以看作是一個容器(其實我們這里的容器就是一個 Map 而已),它存放放的是 Action 在執行時需要用到的對象
     
    一般情況,我們的 ActionContext 都是通過: ActionContext context = (ActionContext) actionContext.get(); 來獲取的。我們再來看看這里的 actionContext 對象的創建: static ThreadLocal actionContext = new ActionContextThreadLocal(); ActionContextThreadLocal 是實現 ThreadLocal 的一個內部類。 ThreadLocal 可以命名為“線程局部變量”,它為每一個使用該變量的線程都提供一個變量值的副本,使每一個線程都可以獨立地改變自己的副本,而不會和其它線程的副本沖突。這樣,我們 ActionContext 里的屬性只會在對應的當前請求線程中可見,從而保證它是線程安全的。
     
     
    下面我們看看怎么通過 ActionContext 取得我們的 HttpSession
    Map session = ActionContext.getContext().getSession()
     
    ServletActionContext
    ServletActionContext com.opensymphony.webwork. ServletActionContext ),這個類直接繼承了我們上面介紹的 ActionContext ,它提供了直接與 JavaServlet 相關對象訪問的功能,它可以取得的對象有:
    1、   javax.servlet.http.HttpServletRequest HTTPservlet 請求對象
    2、   javax.servlet.http.HttpServletResponse; HTTPservlet 相應對象
    3、   javax.servlet.ServletContext Servlet 上下文信息
    4、   javax.servlet.ServletConfig Servlet 配置對象
    5、   javax.servlet.jsp.PageContext Http 頁面上下文
     
     
    下面我們看看幾個簡單的例子,讓我們了解如何從 ServletActionContext 里取得 JavaServlet 的相關對象:
    1、   取得 HttpServletRequest 對象:
    HttpServletRequest request = ServletActionContext. getRequest();
    2、   取得 HttpSession 對象:
    HttpSession session = ServletActionContext. getRequest().getSession();
     
    ServletActionContext ActionContext 有著一些重復的功能,在我們的 Action 中,該如何去抉擇呢?我們遵循的原則是:如果 ActionContext 能夠實現我們的功能,那最好就不要使用 ServletActionContext ,讓我們的 Action 盡量不要直接去訪問 JavaServlet 的相關對象。在使用 ActionContext 時有一點要注意:不要在 Action 的構造函數里使用 ActionContext.getContext() ,因為這個時候 ActionContext 里的一些值也許沒有設置,這時通過 ActionContext 取得的值也許是 null
    posted on 2006-12-13 19:44 周銳 閱讀(675) 評論(0)  編輯  收藏 所屬分類: Webwork
    主站蜘蛛池模板: 国产日韩AV免费无码一区二区| 成人免费av一区二区三区| 亚洲国产成人久久精品软件 | 99久久免费精品视频| 国产精品亚洲а∨无码播放| 91免费在线视频| 好吊妞在线成人免费| 亚洲卡一卡二卡乱码新区| 毛片在线免费视频| 亚洲av无码有乱码在线观看| 四虎永久免费网站免费观看| 人妻免费久久久久久久了| 亚洲区小说区激情区图片区| 永久在线观看免费视频| 精品亚洲麻豆1区2区3区| 1000部拍拍拍18免费网站| 亚洲粉嫩美白在线| 日产乱码一卡二卡三免费| 一区二区三区免费在线视频| 亚洲桃色AV无码| ww在线观视频免费观看| 亚洲精品色在线网站| 97在线视频免费| 日韩亚洲国产高清免费视频| 国产成人综合久久精品免费| 亚洲香蕉免费有线视频| 好男人视频在线观看免费看片| 国产成人亚洲精品91专区高清| 国产亚洲精午夜久久久久久| 亚洲视频在线免费观看| 亚洲国产中文字幕在线观看| 97人妻精品全国免费视频| 91亚洲国产成人久久精品网址| 精品国产免费观看| 亚洲国产一区在线观看| 国产免费69成人精品视频| 久久国产乱子精品免费女| 亚洲欧洲精品成人久久曰| 曰批全过程免费视频在线观看| 久久精品蜜芽亚洲国产AV| 日韩成人免费在线|