This week's book giveaway is in the General Computing forum. We're giving away four copies of Arduino in Action and have Martin Evans, Joshua Noble, and Jordan Hochenbaum on-line! See this thread for details.
From your mail, it appears that the purpose of the 10 pages is solely for data collection. The only "true" action that will be performed would be on the last page when data would get stored in the database.
Your question is whether to use DispatchAction or Action. Right? In either case, I would recommend using a single form bean (session scope), since all the data collected would be related (mutli-page form). If you still want to use a seperate FormBean for each screen, you would be responsible to collecting and holding the information entered as the user navigates through the 10 screens. Form validation would be easy in this case. But again, I wouldn't recommend this approach.
Using a seperate action for each page would probably not be worthwhile, since the first 9 pages do not perform any action as such. You are probably only gathering information and validating it on each page.
There are 2 approaches I can think of (using single form bean). You can evaluate both of them. 1. Using DispatchAction - 9 methods would be just for flow control and one to perform/initiate your business functionality. - If you are using xml based validation, you can use the page attribute of the field element.
2. Use 1 "type" action-mapping and 9 "forward" action-mappings. - The first 9 pages would not be processed by any action method. Only validation + forward to next page. - The last page submit would be to an action for storing to database. - If you are using xml based validation, you can use ValidatorActionForm, maybe. - Drawback: 10 action-mappings in struts-config.xml
The choice is yours to make. Let us know what you have decided to do and why, also, if you have thought of something better.
Note: If you are not going to use struts tag libraries for databinding the html controls to the form bean, then you are on your own if you need to display validation errors on the same page where they occur.