I am writing what should have been the simplest three page wizard ever.  It
involves a single wildcard action mapping

<action name="wizard_*" class="acme.action.wizard.Wizard" method="{1}">
    <interceptor-ref name="starterStack">
      session
    </interceptor-ref>
    <result name="input">/pages/wizard/${currentPage}.jsp</result>
    <result>/pages/wizard/${currentPage}.jsp</result>
</action>

 and four pages 

pageOne.jsp, pageTwo.jsp, pageThree.jsp, and thanks.jsp.

Three pages need to be validated so I created 

Wizard-wizard_pageTwo-validation.xml [validate page1]
Wizard-wizard_pageThree-validation.xml [validate page2]
Wizard-wizard_pagedone-validation.xml [validates page3]

After hours of messing around with web pages coded as follows:

<html>
        <body>
        <H2>Page One</H2>
                <s:form>
                        blah, blah, blah
                        <s:submit method="pageTwo" key="next"/>
                </s:form>
        </body>
</html>

I discovered the method attribute of the <s:submit /> tag ignores the
validation completely!  After reading through the DefaultActionMapper source
code I discovered the METHOD_PREFIX case of the PrefixTrie logic does not
handle this case correctly so I started looking for the one-off technique. 
I modified my pages by changing the <s:submit /> tag as follows

<s:submit action="wizard_pageTwo" key="next"/>

Now the validations are being considered, however pages 2, and 3 do not
output any error messages associated with the fields failing their
validations.  The navigation to a successive page is prevented (which is
correct) but the user has no idea what is wrong!  I have looked over the
files a dozen times and cannot figure this one out.  Does anyone have any
clues?

Thanks,
Scott




-- 
View this message in context: 
http://www.nabble.com/Wildcard-mapping-should-not-suck-%28but-does%29-tp16074328p16074328.html
Sent from the Struts - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to