Author: jboynes
Date: Wed Oct 2 15:48:37 2013
New Revision: 1528526
URL: http://svn.apache.org/r1528526
Log:
Apply patch from Dan Armstrong for bug #55608 <fmt:bundle> tag unnecessarily
buffers body content
This change prevents double buffering by returning EVAL_BODY_INCLUDE so the
content is written directly to the JSP writer's buffer rather than being held
in an unbounded buffer in bodyContent until doEndTag(). This reduces memory
consumption especially with large bodies. As a consequence of this change, the
body content may now be flushed before the end of the tag thereby committing
the response. Users relying on the buffering side-effect to recover from
Exceptions raised in the body should now handle them explicitly.
Modified:
tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/fmt/BundleSupport.java
tomcat/taglibs/standard/trunk/jstlel/pom.xml
Modified:
tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/fmt/BundleSupport.java
URL:
http://svn.apache.org/viewvc/tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/fmt/BundleSupport.java?rev=1528526&r1=1528525&r2=1528526&view=diff
==============================================================================
---
tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/fmt/BundleSupport.java
(original)
+++
tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/fmt/BundleSupport.java
Wed Oct 2 15:48:37 2013
@@ -95,20 +95,7 @@ public abstract class BundleSupport exte
@Override
public int doStartTag() throws JspException {
locCtxt = getLocalizationContext(pageContext, basename);
- return EVAL_BODY_BUFFERED;
- }
-
- @Override
- public int doEndTag() throws JspException {
- if (bodyContent != null) {
- try {
- pageContext.getOut().print(bodyContent.getString());
- } catch (IOException ioe) {
- throw new JspTagException(ioe.toString(), ioe);
- }
- }
-
- return EVAL_PAGE;
+ return EVAL_BODY_INCLUDE;
}
// Releases any resources we may have (or inherit)
Modified: tomcat/taglibs/standard/trunk/jstlel/pom.xml
URL:
http://svn.apache.org/viewvc/tomcat/taglibs/standard/trunk/jstlel/pom.xml?rev=1528526&r1=1528525&r2=1528526&view=diff
==============================================================================
--- tomcat/taglibs/standard/trunk/jstlel/pom.xml (original)
+++ tomcat/taglibs/standard/trunk/jstlel/pom.xml Wed Oct 2 15:48:37 2013
@@ -63,6 +63,7 @@
<contributors>
<contributor><name>Robert Goff</name></contributor>
+ <contributor><name>Dan Armstrong</name></contributor>
</contributors>
<dependencies>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]