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]