Hi
Will cycle.getServiceParameters/setServiceParameters meet your needs?
regards,
Vincent
On 12/29/05, Alan Chandler <[EMAIL PROTECTED]> wrote:
> On Thursday 29 December 2005 11:06, Andreas Idl wrote:
> > Hi
> >
> > 1. session = use visit objects for session values.
> > 2. parameters between to pages = you may call a setter of the destination
> > page
> >
> > here an example of a directlink listener:
> >
> > Integer value= (Integer)cycle.getServiceParameters()[0];
> > DestinationPage page = (DestinationPage)
> > cycle.getPage("DestinationPage");
> > page.setValue(value);
> > cycle.activate(page);
> >
> > Andreas
>
> That seems more complex than it need be. The examples below carries an
> integer variable around between all the pages called function which is used
> to determine a high level function I am performing
>
> I do something like the following
>
> In the template
>
> <form jwcid="@Form" listener="listener:doUpdate" delegate="bean:delegate">
> <span jwcid="@Hidden" value="ognl:function" />
> ...
> </form
>
> and in the java PageClass
>
> @InjectPage("Select")
> public abstract Select getSelectPage();
>
> public abstract void setFunction(int function);
> public abstract int getFunction();
>
> public IPage doUpdate () {
> Select select = getSelectPage();
> select.setFunction(getFunction()); // Don't say done anything
> return select;
> }
>
> This shows calling a new page called "Select" with the function that I am
> carrying around in a hidden field in my form. (It was set in a similar way by
> the previous caller to this page.)
>
> This avoids the need to create a session for the user with the additional
> overhead that it needs.
>
> It is of course also possible to set a new parameter via DirectLink parameters
>
> Here is a little snippet from a table (using contrib:table) where the
> directlink has a parameter (an id) which gets passed to the listener and then
> on to the called page
>
> <td jwcid="[EMAIL PROTECTED]">
> <a jwcid="[EMAIL PROTECTED]"
> listener="listener:doEdit"
> parameters="ognl:{function,components.table.tableRow.id}"
> class="name"
> ><span jwcid="@Insert"
> value="ognl:components.table.tableRow.surname"
> >Chandler</span></a></td>
>
>
> And from the page class
>
> @InjectPage("Edit")
> public abstract Edit getEditPage();
>
> public Edit doEdit(int function, int id) {
> Edit edit = getEditPage();
> // ignore the function parameter - not using it in the html -
> set directly
> edit.setFunction(Function.EDIT);
> edit.setPersonId(id);
> return edit;
> }
>
>
> Again, avoiding setting up a session at this point.
>
> Just a little point about ordering on the target page. The page attach
> listener in the last example is fired at the point where I call
> getEditPage(). I use the parameter id to read the database in the edit page.
> I have to do that in the Page Validate Listener - since when the page attach
> listener is called the value is not yet set.
>
> --
> Alan Chandler
> http://www.chandlerfamily.org.uk
> Open Source. It's the difference between trust and antitrust.
>
> ---------------------------------------------------------------------
> 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]