1 package com.ibatis.struts; 2 3 import com.ibatis.struts.httpmap.*; 4 5 import javax.servlet.http.HttpServletRequest ; 6 import javax.servlet.http.HttpServletResponse ; 7 import java.util.Map ; 8 import java.util.List ; 9 import java.util.ArrayList ; 10 11 30 public class ActionContext { 31 32 private static final ThreadLocal localContext = new ThreadLocal (); 33 34 private HttpServletRequest request; 35 private HttpServletResponse response; 36 37 private Map cookieMap; 38 private Map parameterMap; 39 private Map requestMap; 40 private Map sessionMap; 41 private Map applicationMap; 42 43 private ActionContext() { 44 } 45 46 protected static void initialize(HttpServletRequest request, HttpServletResponse response) { 47 ActionContext ctx = getActionContext(); 48 ctx.request = request; 49 ctx.response = response; 50 ctx.cookieMap = null; 51 ctx.parameterMap = null; 52 ctx.requestMap = null; 53 ctx.sessionMap = null; 54 ctx.applicationMap = null; 55 } 56 57 public void setSimpleMessage(String message) { 58 getRequestMap().put("message", message); 59 } 60 61 public void addSimpleError(String message) { 62 List errors = (List ) getRequestMap().get("errors"); 63 if (errors == null) { 64 errors = new ArrayList (); 65 getRequestMap().put("errors", errors); 66 } 67 errors.add(message); 68 } 69 70 public boolean isSimpleErrorsExist () { 71 List errors = (List ) getRequestMap().get("errors"); 72 return errors != null && errors.size() > 0; 73 } 74 75 public Map getCookieMap() { 76 if (cookieMap == null) { 77 cookieMap = new CookieMap(request); 78 } 79 return cookieMap; 80 } 81 82 public Map getParameterMap() { 83 if (parameterMap == null) { 84 parameterMap = new ParameterMap(request); 85 } 86 return parameterMap; 87 } 88 89 public Map getRequestMap() { 90 if (requestMap == null) { 91 requestMap = new RequestMap(request); 92 } 93 return requestMap; 94 } 95 96 public Map getSessionMap() { 97 if (sessionMap == null) { 98 sessionMap = new SessionMap(request); 99 } 100 return sessionMap; 101 } 102 103 public Map getApplicationMap() { 104 if (applicationMap == null) { 105 applicationMap = new ApplicationMap(request); 106 } 107 return applicationMap; 108 } 109 110 public HttpServletRequest getRequest() { 111 return request; 112 } 113 114 public HttpServletResponse getResponse() { 115 return response; 116 } 117 118 public static ActionContext getActionContext() { 119 ActionContext ctx = (ActionContext) localContext.get(); 120 if (ctx == null) { 121 ctx = new ActionContext(); 122 localContext.set(ctx); 123 } 124 return ctx; 125 } 126 } 127 | Popular Tags |