Action使用ActionContext訪問Servlet API

ActionContext是Action執行時的上下文,其中保存的是Action執行時用到的對象,如請求的參數,servlet的上下文,會話和本地化的一些信息,開發人員可以通過使用ActionContext的靜態方法getContext()來獲取當前的ActionContext對象。ActionContext是線程安全的,即在同一個線程裏,ActionContext裏的屬性是唯一的,這樣Action就可以在多線程中使用。
舉例子
ActionContext context = ActionContext.getContext();
context.getSession().put("sessionMessage",message);
等同於
ActionContext context = ActionContext.getContext();
Map session = context.getSession();
session.put("sessionMessage",message);
取得的session是Map類型的對象的原因的解析:
這是因爲Struts2框架將和Web相關的很多對象重新進行了包裝,這樣Action就不用直接和底層的HttpSession打交道,實現了Action和Servlet API 的解耦
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章