Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Struts wizard problem

 
Jan van Doorn
Greenhorn
Posts: 21
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello,

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:


<action
path="/processinvitation"
type="nl.path.org.struts.host.HostInvitationDispatchAction"
scope="session"
name="editinvitation"
input="/jsp/HostNewInvitation_step1.jsp"
parameter="action"
validate="false">

<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="/populatehosthomepage.do"/>
</action>

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
Posts: 4864
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Jan van Doorn
Greenhorn
Posts: 21
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks Merrill !!!

That did it !

 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic