public Render createRender() { if (renderType == RenderType.FREE_MARKER_RENDER) return new FreeMarkerRender(view); else if (renderType == RenderType.JSP_RENDER) return new JspRender(view); else if (renderType == RenderType.VELOCITY_RENDER) return new VelocityRender(view); else if (renderType == RenderType.XML_RENDER) return new XmlRender(view); else if (renderType == RenderType.JSON_RENDER) { JsonRender jr; if (otherPara.get("jsonText") != null) jr = new JsonRender((String) otherPara.get("jsonText")); else if (otherPara.get("attrs") != null) jr = new JsonRender((String[]) otherPara.get("attrs")); else jr = new JsonRender(); if (Boolean.TRUE.equals(otherPara.get("forIE"))) jr.forIE(); return jr; } throw new IllegalArgumentException( "CacheInterceptor can not support the renderType of the value : " + renderType); }