NAVIGATING
WITHIN WIZARD
Navigation
among all the steps of a wizard
is a important feature because
users must be allowed to ba
able to get back a previous
step or to go to the second
step to update his input.
NEXT
STEP
The process
to go to the next step is
not handled by the API. It
is your choice to go to page
you want/need, depending or
not on the user's input. The
only thing the API does is
to keep trace of where the
user has been.
One of this
API's benefits is to store
as many fields as the user
entered. If the user switches
from step 1 to step 6 for
example, all the fields of
steps 2 to 5 won't be stored
at all (--> memory gain).
BACK
STEP
Because the
API knows which steps the
user has done, the process
to go back to the previous
step can be automatic. The
plugin provides a class named
WizardBackAction which handles
all the process. All you need
to do is declaring this action
in your struts-config file
and calling it like this :
<html:form
action="goBack">
<html:submit>back</html:submit>
</html:form>
<action
path="/goBack" type="net.aejase.plugin.wizard.actions.WizardBack
Action" />
No parameters
are necessary.
DIRECT
ACCESS
To go directly
to a specific step of a wizard,
this API provides a specific
action named WizardDirectAction.
A parameter is needed to know
wherre to go; there is two
type of parameter : formIndex
and formName. One of thses
parameter needs to be passed
to the action.
You can do
it with a link : <a href="directWizard.do?formAction=/message">.
You can also do it with a
form. If this is the case,
the WizardDirectAction must
be linked in your struts-config
file with the WizardDirectForm
which contains two fields,
formName and formIndex.
Do not forget
to declare the action and
the form in your struts-config
file.
<form-bean
name="wizardDirectForm"
type="net.aejase.plugin.wizard.Wizard
DirectForm" />
<action path="/directWizard"
type="net.aejase.plugin.wizard.actions.Wizard
DirectAction" name="wizardDirectForm"
validate="false"
scope="request"
/>
|