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