protected String doProcess(RenderContext rc, Map<String, String> parameters) { log.debug("run script: " + script); RenderContext rcTarget = rc.getTarget(); Map map = new HashMap(); map.put("targetPage", rcTarget.page); map.put("params", parameters); map.put("rc", rc); map.put("request", RequestParams.current()); map.put("services", new Services()); Object o = org.mvel.MVEL.eval(script, map); commit(); if (o == null) { return null; } else if (o instanceof String) { String url = (String) o; return url; } else if (o instanceof CommonTemplated) { CommonTemplated ct = (CommonTemplated) o; return ct.getHref(); } else { log.warn("unhandled return type: " + o.getClass()); return rcTarget.page.getHref(); } }