From the portlet spec:

[quote]
PLT.11.4 Lifetime of the Request Objects

Each request object is valid only within the scope of a particular
processAction or
render method call. Containers commonly recycle request objects in
order to avoid the
performance overhead of request object creation. The developer must be
aware that
maintaining references to request objects outside the scope described
above may lead to
non-deterministic behavior.
[/quote]

Instead, you can either use session attributes or render parameters.

Generally, in the portlet paradigm, you can't really rely on request
attributes in general, so maybe this is one way of making sure
developers stay aware of this. Take the following scenario:

Suppose you set a request attribute object in the action phase of
portlet A that you plan on using during the render phase (and request
attributes did flow  like you suggest).  In the first render following
the action phase of portlet A, you'd be good to go.

But then what happens if the user clicks an action link of another
portlet (B) on the same page.  When portlet A's render is invoked,
your request attribute will be gone and you will get some kind of
error presumably (or at least undesired behaviour).

HTH,
aaron





On 10/31/06, Keshavan, Rango <[EMAIL PROTECTED]> wrote:
Hi,

Was wondering if anyone has done anything like this?  It seems that if
we set an attribute on the ActionRequest, it's not transferred to the
RenderRequst.  I looked at the JSR168 spec, and it doesn't mention
anything about this.

Also, some thoughts...  Wouldn't it make sense for an attribute that's
set in the ActionRequest to propogate forward to the RenderRequest?
What would be the point in setting an attribute on the ActionRequest,
otherwise???

Thanks.

Rango

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to