Author: mrdon Date: Sat Apr 19 06:38:33 2008 New Revision: 649806 URL: http://svn.apache.org/viewvc?rev=649806&view=rev Log: Fixing premature closing of xslt output stream WW-2551
Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java Modified: struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java?rev=649806&r1=649805&r2=649806&view=diff ============================================================================== --- struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java (original) +++ struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/xslt/XSLTResult.java Sat Apr 19 06:38:33 2008 @@ -315,7 +315,7 @@ try { HttpServletResponse response = ServletActionContext.getResponse(); - Writer writer = response.getWriter(); + PrintWriter writer = response.getWriter(); // Create a transformer for the stylesheet. Templates templates = null; @@ -349,18 +349,15 @@ Source xmlSource = getDOMSourceForStack(result); // Transform the source XML to System.out. - PrintWriter out = response.getWriter(); - LOG.debug("xmlSource = " + xmlSource); - transformer.transform(xmlSource, new StreamResult(out)); + transformer.transform(xmlSource, new StreamResult(writer)); - out.close(); // ...and flush... + writer.flush(); // ...and flush... if (LOG.isDebugEnabled()) { LOG.debug("Time:" + (System.currentTimeMillis() - startTime) + "ms"); } - writer.flush(); } catch (Exception e) { LOG.error("Unable to render XSLT Template, '" + location + "'", e); throw e;