package org.basuyi.xflow.core.utils.web; import java.util.HashMap; import java.util.Map; public class WebWorkflowContext { private static ThreadLocal<Map<String, Object>> thread = new ThreadLocal<Map<String, Object>>(); private static final String HTTP_SERVLET_REQUEST = "http_servlet_request"; private static final String HTTP_SERVLET_RESPONSE = "http_servlet_response"; private static Map<String, Object> context = new HashMap<String, Object>(); { thread.set(context); } private static Map<String, Object> getContext() { return thread.get(); } /** * �����󻺴浽ThreadLocal�� * @param key * @param value */ public static void put(String key, Object value) { getContext().put(key, value); } /** * ��ThreadLocal��ȡ���� * @param key * @return */ public static Object get(String key) { return getContext().get(key); } /** * ȡ��HttpServletRequest * @return */ public static Object getRequest() { return get(HTTP_SERVLET_REQUEST); } /** * ȡ��HttpServletResponse * @return */ public static Object getResponse() { return get(HTTP_SERVLET_RESPONSE); } /** * ��HttpServletRequest���浽ThreadLocal�� * @param request */ public static void setRequest(Object request) { put(HTTP_SERVLET_REQUEST, request); } /** * ��HttpServletResponse���浽ThreadLocal�� * @param request */ public static void setResponse(Object response) { put(HTTP_SERVLET_RESPONSE, response); } }