public void render( String calledName, Object[] args, Environment env, Map<String, String> attrs, utils.LocalTemplateArguments ltas) { if (!skipThisTemplate) { tryInitializeTemplate(calledName, args, env, attrs, ltas); tryInitializeVarsOnce(); java.io.StringWriter s = new java.io.StringWriter(); PrintWriter out = new java.io.PrintWriter(s); ThreadLocalOut.push(out); beforeRender(); renderInternal(); afterRender(); ThreadLocalOut.popChecked(out); out = ThreadLocalOut.peek(); tryWriteSpanOpen(out); out.write(s.toString()); tryWriteSpanClose(out); } }
public String executeTemplatePhase(int phase, String name, Object[] args, Environment env) { java.io.StringWriter s = new java.io.StringWriter(); PrintWriter out = new java.io.PrintWriter(s); ThreadLocalOut.push(out); try { TemplateServlet temp = ((TemplateServlet) env.getTemplate(name).newInstance()); switch (phase) { case 2: temp.validateInputs(name, args, env, null, null); break; case 4: temp.render(name, args, env, null, null); break; } } catch (Exception oe) { try { TemplateCall tcall = env.getWithcall(name); // 'elements' or requires arg TemplateServlet temp = ((TemplateServlet) env.getTemplate(tcall.name).newInstance()); String parent = env.getWithcall(name) == null ? null : env.getWithcall(name).parentName; switch (phase) { case 2: temp.validateInputs(parent, tcall.args, env, null, null); break; case 4: temp.render(parent, tcall.args, env, null, null); break; } } catch (Exception ie) { oe.printStackTrace(); ie.printStackTrace(); } } ThreadLocalOut.popChecked(out); return s.toString(); }