Hi -  I'm working on a web application and trying to implement a multi-page
form (wizard style), with 'Next' & 'Back' buttons on each page to step
forwards & back through the wizard.  Is there a 'struts' way of doing this?

Currently, I'm trying it with 1 ActionForm class and 1 Action controller.
Each of the JSP pages is referencing the same action path.  Here's the part
of my struts-config.xml file relevant to the wizard:

--------------------------------------------------------------
<!-- FormBean declaration: -->
<form-bean
        name="themeForm"
        type="ThemeForm"
/>

<!-- Action declaration -->
    <action    path="/themeWizard"
               type="ThemeWizard"
               name="themeForm"
               scope="session"
               validate="false"
                   input="/createTheme.jsp"
        >
                <forward name="step1"              path="/createTheme.jsp"/>
                <forward name="step2"              path="/selectAnalyst.jsp"/>
                <forward name="step3"              path="/selectCommenters.jsp"/>
                <forward name="complete"           path="/newTheme.jsp"/>
        </action>

--------------------------------------------------------------
Then, my JSP's look something like this:

--------------------------------------------------------------
...
<html:form action="/themeWizard.do" method="post">
        <input type="submit" name="go" value="&lt; Back">
        <input type="hidden" name="page" value="2">
        <input type="submit" name="go" value="Next &gt;">
</html:form>
...
--------------------------------------------------------------

Each jsp has pretty much the same format, w/ the hidden parameter 'page' set
to whatever step the page is in the wizard.  I use that in the Action class
to discern to which page I should forward the browser.

Am I doing something fundamentally wrong, or am I even close - maybe just
missing an attribute somewhere?  Or do I have to declare a separate action
in the struts-config.xml file for each page in the wizard?

Thanks,
Rich Yumul


Richard M. Yumul
Polexis, Inc.
Direct: 619-542-7209
Fax: 619-542-8675
http://www.polexis.com
transforming data into knowledge

Reply via email to