1、非IoC方式
要獲得上述對象,關(guān)鍵Struts 2中com.opensymphony.xwork2.ActionContext類。我們可以通過它的靜態(tài)方法getContext()獲取當前Action的上下文對象。有了這個對象我們想獲得其他幾個對象就好辦了
ActionContext ctx = ActionContext.getContext(); Map session = ctx.getSession(); 細心的朋友可以發(fā)現(xiàn)這里的session是個map對象在Struts2中底層的session都被封裝成了Map類型我們可以直接操作這個map 進行對session的寫入和讀取操作而不用去直接操作HttpSession對象
另外,org.apache.struts2.ServletActionContext作為輔助類(Helper Class),可以幫助您快捷地獲得這幾個對象。
HttpServletRequest request = ServletActionContext.getRequest(); HttpServletResponse response = ServletActionContext.getResponse(); HttpSession session = request.getSession(); 如果你只是想訪問session的屬性(Attribute),你也可以通過ActionContext.getContext().getSession()獲取或添加session范圍(Scoped)的對象。