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