You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by tm...@apache.org on 2006/07/19 17:22:49 UTC

svn commit: r423489 - /struts/struts2/trunk/core/src/main/java/org/apache/struts2/components/ActionComponent.java

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() {