Revision: 1243
          http://stripes.svn.sourceforge.net/stripes/?rev=1243&view=rev
Author:   bengunter
Date:     2010-05-21 20:42:48 +0000 (Fri, 21 May 2010)

Log Message:
-----------
STS-319: Partial fix for lingering problems with decorator pattern. The 
components and dynamic attributes need to be pushed to the page scope whether 
we're in the render phase or not.

Modified Paths:
--------------
    
branches/1.5.x/stripes/src/net/sourceforge/stripes/tag/layout/LayoutDefinitionTag.java

Modified: 
branches/1.5.x/stripes/src/net/sourceforge/stripes/tag/layout/LayoutDefinitionTag.java
===================================================================
--- 
branches/1.5.x/stripes/src/net/sourceforge/stripes/tag/layout/LayoutDefinitionTag.java
      2010-05-21 19:52:58 UTC (rev 1242)
+++ 
branches/1.5.x/stripes/src/net/sourceforge/stripes/tag/layout/LayoutDefinitionTag.java
      2010-05-21 20:42:48 UTC (rev 1243)
@@ -68,19 +68,17 @@
         renderPhase = context.isComponentRenderPhase(); // Initialize phase 
flag
         silent = context.getOut().isSilent();
 
-        if (!renderPhase) {
-            // Put any additional parameters into page context for the 
definition to use
-            for (Map.Entry<String, Object> entry : 
context.getParameters().entrySet()) {
-                pageContext.getRequest().setAttribute(entry.getKey(), 
entry.getValue());
-            }
-            for (Entry<String, LayoutComponentRenderer> entry : 
context.getComponents().entrySet()) {
-                entry.getValue().pushPageContext(pageContext);
-                pageContext.getRequest().setAttribute(entry.getKey(), 
entry.getValue());
-            }
+        // Flag this definition has rendered, even though it's not really done 
yet.
+        context.setRendered(true);
 
-            // Flag this definition has rendered, even though it's not really 
done yet.
-            context.setRendered(true);
+        // Put any additional parameters into page context for the definition 
to use
+        for (Map.Entry<String, Object> entry : 
context.getParameters().entrySet()) {
+            pageContext.setAttribute(entry.getKey(), entry.getValue());
         }
+        for (Entry<String, LayoutComponentRenderer> entry : 
context.getComponents().entrySet()) {
+            entry.getValue().pushPageContext(pageContext);
+            pageContext.setAttribute(entry.getKey(), entry.getValue());
+        }
 
         // Enable output only if this is the definition execution, not a 
component render
         context.getOut().setSilent(renderPhase, pageContext);


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------

_______________________________________________
Stripes-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-development

Reply via email to