Author: tmjee
Date: Wed Jul 19 08:22:49 2006
New Revision: 423489

URL: http://svn.apache.org/viewvc?rev=423489&view=rev
Log:
WW-1385 - flush writer to make sure action refered get rendered in order

Modified:
    
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ActionComponent.java

Modified: 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ActionComponent.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ActionComponent.java?rev=423489&r1=423488&r2=423489&view=diff
==============================================================================
--- 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ActionComponent.java
 (original)
+++ 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ActionComponent.java
 Wed Jul 19 08:22:49 2006
@@ -34,6 +34,8 @@
 import javax.servlet.jsp.PageContext;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
+import java.io.IOException;
 import java.io.Writer;
 import java.util.HashMap;
 import java.util.Map;
@@ -125,13 +127,23 @@
     }
 
     public boolean end(Writer writer, String body) {
-        executeAction();
-
-        if ((getId() != null) && (proxy != null)) {
-            getStack().setValue("#attr['" + getId() + "']", proxy.getAction());
-        }
-
-        return super.end(writer, "");
+       boolean end = super.end(writer, "", false);
+               try {
+                       try {
+                               writer.flush();
+                       } catch (IOException e) {
+                               LOG.warn("error while trying to flush writer ", 
e);
+                       }
+                       executeAction();
+
+                       if ((getId() != null) && (proxy != null)) {
+                               getStack().setValue("#attr['" + getId() + "']",
+                                               proxy.getAction());
+                       }
+               } finally {
+                       popComponentStack();
+               }
+        return end; 
     }
 
     private Map createExtraContext() {


Reply via email to