我們知道,在Servlet中,我們可以直接獲得request,response,servletContext等值,但是在Struts中如何獲得並且向這些域裡面放入值呢,下面來說一下
首先是分別向request,session,servletcontext放入屬性
- ActionContext act = ActionContext.getContext();
- act.getApplication().put("ServletContext", "ServletContext");
- act.getSession().put("session", "session");
- act.put("request", "request");
很簡單,只需要在Action的代碼裡面加入ActionContext這個類就可以從Struts中獲得域的引用,並且調用put方法分別向這三個域中放入相對應的數據,然後在界面中調用EL表達式就可以獲得值了。
當然,如果想獲得request等值的直接引用該怎麼做呢
- HttpServletRequest request = ServletActionContext.getRequest();
- HttpSession session = request.getSession();
- HttpServletResponse response = ServletActionContext.getResponse();
- ServletContext context = ServletActionContext.getServletContext();
也很簡單,還是在Action的代碼裡面加入ServletActionContext這個類,只是比剛才的類多了一個Servlet,這樣就可以使用request,servletcontext等東西的方法了。