You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ba...@apache.org on 2007/05/22 01:21:44 UTC

svn commit: r540350 - in /myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/application/jsp: JspViewHandlerImpl.java ViewResponseWrapper.java

Author: baranda
Date: Mon May 21 16:21:43 2007
New Revision: 540350

URL: http://svn.apache.org/viewvc?view=rev&rev=540350
Log:
Fixes MYFACES-1640 (Content after the view tag incorrectly written to the response)

Modified:
    myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/application/jsp/JspViewHandlerImpl.java
    myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/application/jsp/ViewResponseWrapper.java

Modified: myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/application/jsp/JspViewHandlerImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/application/jsp/JspViewHandlerImpl.java?view=diff&rev=540350&r1=540349&r2=540350
==============================================================================
--- myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/application/jsp/JspViewHandlerImpl.java (original)
+++ myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/application/jsp/JspViewHandlerImpl.java Mon May 21 16:21:43 2007
@@ -327,11 +327,7 @@
                 AFTER_VIEW_TAG_CONTENT_PARAM);
         externalContext.getRequestMap().remove(AFTER_VIEW_TAG_CONTENT_PARAM);
 
-        String afterViewContent = afterViewTagResponse.toString();
-        if (afterViewContent != null)
-        {
-            response.getWriter().write(afterViewTagResponse.toString());
-        }
+        afterViewTagResponse.flushToWriter(response.getWriter());
 
         // Call endDocument() on the ResponseWriter
         newResponseWriter.endDocument();

Modified: myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/application/jsp/ViewResponseWrapper.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/application/jsp/ViewResponseWrapper.java?view=diff&rev=540350&r1=540349&r2=540350
==============================================================================
--- myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/application/jsp/ViewResponseWrapper.java (original)
+++ myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/application/jsp/ViewResponseWrapper.java Mon May 21 16:21:43 2007
@@ -1,13 +1,9 @@
 package org.apache.myfaces.application.jsp;
 
-import java.io.CharArrayWriter;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.ByteArrayOutputStream;
-
+import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponseWrapper;
-import javax.servlet.ServletOutputStream;
+import java.io.*;
 
 /**
  * @author Bruno Aranda (latest modification by $Author$)
@@ -64,11 +60,24 @@
             _charArrayWriter.reset();
             _writer.flush();
         } else if (_byteArrayWriter != null) {
+        System.out.println("BYTE ARRAY WRITER");
             getResponse().getOutputStream().write(_byteArrayWriter.toByteArray());
             _byteArrayWriter.reset();
             _byteArrayWriter.flush();
         }
+    }
 
+    public void flushToWriter(Writer writer) throws IOException {
+        if (_charArrayWriter != null) {
+            _charArrayWriter.writeTo(getResponse().getWriter());
+            _charArrayWriter.reset();
+            _writer.flush();
+        } else if (_byteArrayWriter != null) {
+            getResponse().getOutputStream().write(_byteArrayWriter.toByteArray());
+            _byteArrayWriter.reset();
+            _byteArrayWriter.flush();
+        }
+        writer.flush();
     }
 
     @Override