File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
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
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "Struts wizard problem" Watch "Struts wizard problem" New topic
Author

Struts wizard problem

Jan van Doorn
Greenhorn

Joined: Feb 12, 2003
Posts: 21
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

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.


Merrill
Consultant, Sima Solutions
Jan van Doorn
Greenhorn

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

That did it !

 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Struts wizard problem