前一段時間在運用Struts2的時候,更多的是考慮由Jsp擷取action儲存在session或request中的key。
如:
public String getInfBySal(){
Connection con = OracleConnectionManager.getConnection();
UserDao userDao = new UserDao();
ArrayList<UserBean> userList = userDao.getUserInfBySal(con,this.lowsal, this.hisal);
if(userList != null){
ActionContext ac =ActionContext.getContext();
ac.put("userList", userList);
return "success";
}else{
return "failed";
}
}
中運用ActionContext也就是動作內容相關的put()方法將所需要傳遞資訊以索引值對的方式儲存到request對象中。由此可見,ActionContext是一個request層級的類。
而要從action擷取Jsp儲存在request中的key則需
//通過動作上下文擷取request對象// HttpServletRequest request = (HttpServletRequest) ac.get(ServletActionContext.HTTP_REQUEST);// String id = request.getParameter("id"); //通過容器動作上下文擷取request對象// String id = ServletActionContext.getRequest().getParameter("id"); //將ActionContext轉為ServletActionContext
而session的擷取則相對容易
ActionContext.getContext().getSession().get();
即可。