You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-user@portals.apache.org by Ćukasz Olek <ol...@hoga.pl> on 2002/10/23 10:33:16 UTC
Jetspeed BUG???
I have downloaded nightly build Jetspeed from 2002-10-19.
I have an Action object with two methods: buildNormalContext and
doUpdate:
public class MeetingFormAction extends VelocityPortletAction {
protected void buildNormalContext(VelocityPortlet velocityPortlet,
Context context, RunData runData){
...
}
public void doUpdate(RunData runData, Context context) throws
Exception{
}
}
method buildNormalContext gets properly configured context object, but
doUpdate does not.
Context in doUpdate does not have any keys set (array getKeys() is
empty).
Is it a bug?
What to do?
Thanks
Lukasz Olek
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
Re: Jetspeed BUG???
Posted by "Glenn R. Golden" <gg...@umich.edu>.
If in your form that has the submit that triggered the doUpdate, there
is an 'action' parameter (with the class name of your Action class),
then the request will be handled by the Turbine action mechanism, not
the Velocity action mechanism. The difference is that from Turbine,
only your action class is called - with velocity, all the portlets on
the page get a shot at responding to the submit. Also, with Turbine,
the action is processed BEFORE any of the page is composed - with
velocity, the action is processed as part of each portlet's
composition. An action call handled by Turbine can do a redirect - one
handled by velocity cannot (output has already been sent to the
browser).
The key difference in this case is that the context is new or missing
when using the Turbine action processing, but will be there as expected
when using the velocity action processing.
We exclusively use the Turbine action processing in our Jetspeed work.
We just ignore the context parameter to the do... routines.
When doing Turbine action processing, the do... routine will be called,
then all the portlets will be composed, so your build routine will also
be called. Nice separation between input processing and output. With
velocity, only the do.... routine will be called, it must setup the
context for the output as well as process the input.
All controlled by having or not the 'action' form field or url
parameter.
- Glenn
---------------------------------------------------------------------
Glenn R. Golden Systems Research Programmer
School of Information University of Michigan
ggolden@umich.edu 734-615-1419
---------------------------------------------------------------------
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>