This week's book giveaway is in the Jobs Discussion forum.
We're giving away four copies of Java Interview Guide and have Anthony DePalma on-line!
See this thread for details.
The moose likes Struts and the fly likes Struts wizard problem Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Java Interview Guide this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "Struts wizard problem" Watch "Struts wizard problem" New topic

Struts wizard problem

Jan van Doorn

Joined: Feb 12, 2003
Posts: 21

I have 3 jsp's forming a 3-step wizard, 1 DispatchAction class, 1 Formbean class with an old style validate() method, I have this action mapping in struts-config.xml:


<forward name="step1" path="/jsp/HostNewInvitation_step1.jsp" />
<forward name="step2" path="/jsp/HostNewInvitation_step2.jsp" />
<forward name="step3" path="/jsp/HostNewInvitation_step3.jsp" />
<forward name="invalid" path="/jsp/HostNewInvitation_step1.jsp"/>
<forward name="valid" path="/"/>

Now if something goes wrong in step1 the page HostNewInvitation_step1.jsp correctly gets displayed with correct errormsgs.

But how do I get page HostNewInvitation_step2.jsp invoked if something goes wrong in step 2 ??
There is only one input element in this tag.
I tried: input="/processinvitation?action=validate"
with a validate() method added to my action class, but that does not work.

How do you tackle this problem in general ?

Thanks in advance !

[ August 08, 2005: Message edited by: Jan van Doorn ]
[ September 01, 2005: Message edited by: Jan van Doorn ]
Merrill Higginson
Ranch Hand

Joined: Feb 15, 2005
Posts: 4864
One possibility would be to define an action for each page of the wizard (e.g. processInvitation_p1, processInvitation_p2, etc). You can still use the same action class and form bean; just define different paths and different input JSPs. Then change the action of the form in each JSP to match the new action definitions. If you don't want to redefine the forwards for each action, you can make them global forwards.

Consultant, Sima Solutions
Jan van Doorn

Joined: Feb 12, 2003
Posts: 21
Thanks Merrill !!!

That did it !

I agree. Here's the link:
subject: Struts wizard problem
It's not a secret anymore!