Have you studied the possibility to make the ui component
UIPortalApplication to buffer the content of its rendered children.
When the rendering is terminated the UIPortalApplication component can
do two things:
1/ setup the HTTP headers (if we do support it)
2/ update its state to store the headers and then have them pulled by
the template UIPortalApplication.gtmpl
The control flow could be modified to follow:
1/ called process render on its children and buffer the byte array
response
2/ update its state with the buffered response and the headers
3/ output HTTP headers
4/ call render template to render the UIPortalApplication.gtmpl
5/ in the uicomponent.renderChildren() callback send the buffered
response
6/ in a finally block clear the transient state (buffered response and
headers)
On Dec 2, 2009, at 8:12 PM, Matt Wringe wrote:
I am trying to get portlet markup headers working with gatein. This
allows portlets to set content in the html head of the portal page.
This
only works if the portlets are processed before the page gets
generated,
which is currently not the case.
We can get around this by creating a preRender phase to the webui
lifecycle. This phase would generate the markup for the uicomponent
and
store it. When the processRender phase occurs, it will just retrieve
this stored markup.
Adding a new phase to the lifecycle is going to require a bunch of
changes to webui.
I already have a simple proof of concept with a preRender phase that
is
working with portlets to allow setting the html head.
Before I get too far with this, I would to know if anyone else has any
better ideas about how to handle this.
We could modify the html head using javascript that gets called when
the
page is loaded. This will work and would be easy to implement, but
seems
like a hack.
I looked into seeing if we could just modify how the
UIPortalApplication
gets rendered so that we wouldn't need to touch the rest of the webui
lifecyle. We could do something like render the html body to a
temporary
writer first, but this is a messy hack.
_______________________________________________
gatein-dev mailing list
gatein-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/gatein-dev