Author: markt Date: Fri Jan 27 08:21:17 2017 New Revision: 1780514 URL: http://svn.apache.org/viewvc?rev=1780514&view=rev Log: More refactoring of generated code so tags require less code
Modified: tomcat/trunk/java/org/apache/jasper/compiler/Generator.java tomcat/trunk/java/org/apache/jasper/runtime/JspRuntimeLibrary.java Modified: tomcat/trunk/java/org/apache/jasper/compiler/Generator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/Generator.java?rev=1780514&r1=1780513&r2=1780514&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/compiler/Generator.java (original) +++ tomcat/trunk/java/org/apache/jasper/compiler/Generator.java Fri Jan 27 08:21:17 2017 @@ -2451,7 +2451,6 @@ class Generator { out.println(" != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {"); // Assume EVAL_BODY_BUFFERED out.pushIndent(); - out.printil("out = _jspx_page_context.pushBody();"); if (n.implementsTryCatchFinally()) { out.printin(tagPushBodyCountVar); out.println("[0]++;"); @@ -2459,11 +2458,10 @@ class Generator { out.printin(pushBodyCountVar); out.println("[0]++;"); } - out.printin(tagHandlerVar); - out.println(".setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);"); - out.printin(tagHandlerVar); - out.println(".doInitBody();"); - + out.printin("out = org.apache.jasper.runtime.JspRuntimeLibrary.startBufferedBody("); + out.print("_jspx_page_context, "); + out.print(tagHandlerVar); + out.println(");"); out.popIndent(); out.printil("}"); Modified: tomcat/trunk/java/org/apache/jasper/runtime/JspRuntimeLibrary.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/runtime/JspRuntimeLibrary.java?rev=1780514&r1=1780513&r2=1780514&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/runtime/JspRuntimeLibrary.java (original) +++ tomcat/trunk/java/org/apache/jasper/runtime/JspRuntimeLibrary.java Fri Jan 27 08:21:17 2017 @@ -29,9 +29,11 @@ import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; +import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.PageContext; import javax.servlet.jsp.tagext.BodyContent; +import javax.servlet.jsp.tagext.BodyTag; import javax.servlet.jsp.tagext.Tag; import org.apache.jasper.JasperException; @@ -970,6 +972,15 @@ public class JspRuntimeLibrary { } + public static JspWriter startBufferedBody(PageContext pageContext, BodyTag tag) + throws JspException { + BodyContent out = pageContext.pushBody(); + tag.setBodyContent(out); + tag.doInitBody(); + return out; + } + + public static void releaseTag(Tag tag, InstanceManager instanceManager, boolean reused) { // Caller ensures pool is non-null if reuse is true if (!reused) { --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org