Thanks Jeff, your analysis is spot on.
In this instance the problem is this: Form1 has a logic:iterate tag that iterates over a List held in myActionForm. The List is setup by the initAction.do action. How do I preserve the List between actionform instances? (It's not referenced in the JSP other than the logic:iterate tag) Tia -Adam -----Original Message----- From: news [mailto:[EMAIL PROTECTED] On Behalf Of Jeff Beal Sent: 04 February 2005 17:14 To: user@struts.apache.org Subject: Re: Best practice for formbean scope and handling form validation errors Adam Lipscombe wrote: <snip> > But, if the scope of the "myActionForm" formbean is "request" a new > instance of the formbean is constructed when Form1.jsp is > re-displayed. Hence none of the data that it originally held in it is > present and the form fails. The formBean was originally populated by > /initAction.do In order to preserve the myAction formBean I have to > make its scope "session". </snip> Based on the rest of your email, this is what should be happening: 1) initAction.do is populating myActionForm with data from your Model layer 2) Form1.jsp pulls the values out of myActionForm and displays them to the user 3) The request ends, and the myActionForm instance created in (1) is destroyed 4) The user makes changes to the form values on Form1.jsp and submits the changes to the server 5) Struts creates a new instance of myActionForm and populates it with values from the request. *If Form1.jsp was written correctly, all of the values populated from the Model in (1) along with any user changes from (4) should be in the request* 6) myActionForm is validated. If the validation fails, control is returned to (3) with the data from (4) I'm a little unclear as to where exactly your problem is, but it seems that some or all of the values from the original myActionForm are not getting written to the user, and therefore are not being submitted with the second request to populate the second instance of myActionForm. -- Jeff --------------------------------------------------------------------- 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]