Using tiles and 1.1 I currently am working on a project which uses DispatchAction extensively. In the action classes which extend DispatchAction I have 3 methods:
1. init() - which initializes form data, etc. 2. update() - which does some business logic based on a form selection. 3. submitForm() - which does some validation and other associated logic on the completed data. In the struts-config.xml I have 3 forwards defined: 1. success - defaults to the jsp associated with the action 2. failure - same jsp as above if there is a validation failure 3. nextAction - fowards to the next action in the flow ...usually something like /action/Action?method=init Maybe this will give you some idea for your design? HTH, Shane -----Original Message----- From: Hue Holleran [mailto:[EMAIL PROTECTED] Sent: Monday, July 28, 2003 1:40 PM To: Struts Users Mailing List Subject: RE: Design Question - same action, many jsps/views Hi Brian, Yes - I can see your point. Whenever I need to do this (with multi-page forms, for instance - where the "Next" button should forward to the next page) - I use a property on the form, from memory it might be "currentPage" (which is numeric for me) that is held as a hidden form property that is used to do the "from" logic you are describing. Ok, this was done specifically as we are using tiles, as I believe this may confuse the getRequestURI() return value(?). The alternative may be to use the dispatcher to define a specific entry point in your action that can call some generic code (i.e. that presumably you're now concerned about duplicating - and I agree with your concerns) - and then forward to the correct forward? Alternatively the struts-workflow extensions may provide additional clues for you on how this may be done. From memory, we were discouraged from using this as it had several pre-requisites, like appending something to every action and actions needing to work in a particular way that was too much work for us (and I think there some issues using it with tiles?). I think the new version integrates much better with 1.1 so this may be worth a look, too? URL in case you don't have it: http://www.livinglogic.de/Struts Hue. > -----Original Message----- > From: Brian McSweeney [mailto:[EMAIL PROTECTED] > Sent: 28 July 2003 16:27 > To: 'Struts Users Mailing List' > Subject: RE: Design Question - same action, many jsps/views > > > Hi Hue, > > That's definitely one way to go, but the disadvantage that > I see of using this way is that you presumably have to hard code into > the action, some way of identifying where the request came from. Perhaps > > something like: > > String input = request.getRequestURI(); > > if(input.equalsIgnorCase("inputpath1") > return (mapping.findForward("page1")); > > else if(input.equalsIgnorCase("inputpath2"); > return (mapping.findForward("page2")); > > else if(input.equalsIgnorCase("inputpath3"); > return (mapping.findForward("page3")); > > > The previous new action mapping idea means you don't have to do > this I think, which might make it a better solution. What do you > think? > > I'm not sure though, and thanks very much for the help. > Brian > > -----Original Message----- > From: Hue Holleran [mailto:[EMAIL PROTECTED] > Sent: 28 July 2003 16:11 > To: Struts Users Mailing List > Subject: RE: Design Question - same action, many jsps/views > > Hi Brian, > > Why not use different named forwards for the action and access each one > from > the action with a: > > { > ... > return (mapping.findForward("page1/page2/page3")); > } > > In s-c: > > <action path="/myAction" > type="<FQ Class>" > name="<bean>" > ... > > > <forward name="page1" path="/page1.jsp"/> > <forward name="page2" path="/page2.jsp"/> > <forward name="page3" path="/page3.jsp"/> > </action> > > Hue. > > > -----Original Message----- > > From: Brian McSweeney [mailto:[EMAIL PROTECTED] > > Sent: 28 July 2003 10:39 > > To: [EMAIL PROTECTED] > > Subject: Design Question - same action, many jsps/views > > > > > > Hi all, > > > > I've come across a situation which I'm not sure how to handle with > > struts. > > I have an action which, depending on from which page it's called, > > should forward to different jsps pages. > > > > Currently, for each resultant jsp, I create a new action with the > exact > > same > > logic code inside which forwards to the right jsp. > > > > I'm just not sure if this is the right way to do it, because it's > > replication of code. > > An alternative might be to switch on the input path of the request and > > forward to > > The right jsp, but I'm not sure if this is right either. This has to > > have come up > > before, so I'm looking for a best practice solution. > > > > What do you guys reckon? > > > > Thanks, > > Brian > > > > --- > > Incoming mail is certified Virus Free. > > Checked by AVG anti-virus system (http://www.grisoft.com). > > Version: 6.0.504 / Virus Database: 302 - Release Date: 24/07/2003 > > > --- > Outgoing mail is certified Virus Free. > Checked by AVG anti-virus system (http://www.grisoft.com). > Version: 6.0.504 / Virus Database: 302 - Release Date: 24/07/2003 > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > --- > Incoming mail is certified Virus Free. > Checked by AVG anti-virus system (http://www.grisoft.com). > Version: 6.0.504 / Virus Database: 302 - Release Date: 24/07/2003 > --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.504 / Virus Database: 302 - Release Date: 24/07/2003 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]