Should also point out that it's usually better to use mapping.getInputForward() in these situations (instead of defining a "failure" forward), since validator will always redirect the user back to the "input" location if there's a validation error (and this is usually the same place you want them to go for business rule violations).
Only time you wouldn't want to do this is if you're sending the user to a different page/form to "fix" the business rule errors (e.g. rule overrides). But if the intention is to send them back to their original form with their original data, use the input mapping. - Scott -----Original Message----- From: Fogleson, Allen [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 23, 2005 1:26 PM To: Struts Users Mailing List Subject: RE: Action Question Before forwarding to failure try this... Action: Public ActionForward execute(Mapping mapping Form form, ...) { YourFormClass newuserbeanform = (YourFormClass)form; . . . boolean recordInsert = userbo.insertNewUser(); //By The way this looks backwards... I thought true was a success??? if (recordInsert) { request.setAttribute("newuserbean", newuserbeanform); actionforward = mapping.findForward("Failure"); } else { actionforward = mapping.findForward("Success"); } That will make the current form available to the jsp and it should show the data you have in it. Al -----Original Message----- From: Scott Purcell [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 23, 2005 11:55 AM To: user@struts.apache.org Subject: Action Question Hello, I have a form, which has an attached bean. I am doing validation, so I have good data going to my action. In the action, I take the bean with good data, and hand it to a DTO object which updates the database with the new user supplied information. What can I do in the Action if my DTO object returns false (Could not update database because of some condition). I know I can find a mapping and send it somewhere, but the user just filled out a large form, and I would like to send them back to the form, where the data is, and show them a message there. I tried using the Failure (see below) but when it goes to the newUser.jsp page it is blank. The data they just entered is not there. I know how to do this in a ActionForm, but how in an Action? Here is my action mapping: <action path="/newUser-submit" type="com.ddi.dealer.action.admin.CreateNewUserAction" name="newuserbean" scope="request" input="/jsp/admin/newUser.jsp" validate="true"> <forward name="Success" path="/jsp/admin/mainAdmin.jsp" /> <forward name="Failure" path="/jsp/admin/newUser.jsp" /> </action> Here is the action piece. BeanUtils.copyProperties(usersbean, userbo); boolean recordInsert = userbo.insertNewUser(); if (recordInsert) { actionforward = mapping.findForward("Failure"); } else { actionforward = mapping.findForward("Success"); } return actionforward; I just would like to be able to return them to their form where they just entered all the data, and let them try again. Thanks, Scott --------------------------------------------------------------------- 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]