/** * 将request中存在的param以及attribute全部存入context中 * * @param request */ public void initExpContext(HttpServletRequest request) { Enumeration<String> enumParams = request.getParameterNames(); while (enumParams.hasMoreElements()) { String param = enumParams.nextElement(); context.setVar(param, request.getParameter(param)); } Enumeration<String> enumAttrs = request.getAttributeNames(); while (enumAttrs.hasMoreElements()) { String attr = enumAttrs.nextElement(); context.setVar(attr, request.getAttribute(attr)); } String recordJson = (String) context.getVar("recordJson"); if (StringUtil.isNotEmpty(recordJson)) { initContextVarFromJson(recordJson); } }
/** * 初始化变量环境 * * @param i * @throws EvalError */ private void initEvalContext(Interpreter i) throws EvalError { Set vars = this.context.getVars(); Iterator iterator = vars.iterator(); while (iterator.hasNext()) { String var = iterator.next() + ""; Object obj = context.getVar(var); try { i.set(var, obj); } catch (EvalError e) { e.printStackTrace(); } } }