I have a similar scenario but in my case the sending action does not have the same form bean bean associated as the destination. So what I want to do is to instantiate a form bean which the JSP is expecting and put it in the request scope.
Here is my code: DynaActionForm form = new DynaActionForm(); form.set("productId", String.valueOf(acc.getProductId())); form.set("mfrPartNumber", acc.getAccessoryProduct().getMfgPartNo()); form.set("description", acc.getAccessoryProduct().getDescription()); form.set("notes", acc.getNotes()); req.setAttribute("accessory", form); This is the JSP to which I am sending this request: <html:form action="saveAcc.do" method="GET" > <html:text property="productId" size="25"readonly="true"/></td> <html:text property="mfrPartNumber" size="25"/></td> <html:text property="description" size="25"/></td> <html:textarea property="notes" rows="8"/></td> <html:submit >Save Accessory</html:submit> </html:form> In struts-config.xml I have the following def for action saveAcc.do <action path="/saveAcc" type="my.mypackage.MySaveAccessoryAction" name="accessory" validate="false" scope="request"> This is the error I get when submitting to the JSP: java.lang.NullPointerException at org.apache.struts.action.DynaActionForm.getDynaProperty(DynaActionForm.java: 545) at org.apache.struts.action.DynaActionForm.set(DynaActionForm.java:361) at com.etilize.cms.web.actions.AddAccessoriesAction.editAccessory ...... (more...) I am sorry if this has come up earlier but I could not find one. Thanks a lot. Affan ----- Original Message ----- From: "Mark Lowe" <[EMAIL PROTECTED]> To: "Struts Users Mailing List" <[EMAIL PROTECTED]> Sent: Saturday, December 21, 2002 1:17 AM Subject: Re: Pre-populating Form Bean > As a side note I'd watch out putting dots in your actions .. I was doing the > same and it worked .. and then i was getting an error that complained it > could find the action... > > perhaps it was the release i was using or something, but i'd hate someone > else to wash time out over this as well.. If its working however then don't > fix it... > > > > ----- Original Message ----- > From: "Mark Conlin" <[EMAIL PROTECTED]> > To: "'Struts Users Mailing List'" <[EMAIL PROTECTED]> > Sent: Friday, December 20, 2002 8:42 PM > Subject: RE: Pre-populating Form Bean > > > > > > This can not be the correct way to do this. > > > > I removed any reference to the form from the pre-Action: > > > > <action path="/customer.customerAccountDetails.pre.edit" > > type="com.yordata.action.customer.CustomerAccountDetailsPreEditAction"> > > <forward name="success" path="customer.edit_accountdetails"/> > > </action> > > > > Then I placed the Form into the session in the action like this: > > session.setAttribute( "customerDetailsForm", custForm); > > > > This works but, I do not want to hard-code the form reference like this. > > > > Mark > > > > > > > > -----Original Message----- > > From: Mark Conlin [mailto:[EMAIL PROTECTED]] > > Sent: Friday, December 20, 2002 2:30 PM > > To: 'Struts Users Mailing List' > > Subject: RE: Pre-populating Form Bean > > > > > > > > Okay, I think I am missing something major here. > > By watching the log files I see the following. > > > > 1)Proccessing my pre edit Action - > > "customer.customAccountDetails.pre.edit" > > 2)Struts then looks for my ActionForm - "customerDetailsForm" > > 3)Struts then creates my ActionForm since it can not find it. > > 4)The form fails validation, as described by my validation.xml file. > > > > The pre edit Action never runs... > > > > The result is that I arrive at my "create" page with validation errors > > because the validation logic tells it to return to that page. > > > > So, how can I pre-populate a Form? What am I don't wrong here... > > > > Mark > > > > > > -----Original Message----- > > From: Mark Conlin [mailto:[EMAIL PROTECTED]] > > Sent: Friday, December 20, 2002 1:38 PM > > To: 'Struts Users Mailing List' > > Subject: RE: Pre-populating Form Bean > > > > > > Okay so I have done the following... > > I placed name="customerDetailsForm" into my action declaration.. > > It wanted an input field as well so I added that too. > > > > Now my form comes up and it is still not populated... > > > > My action execute code is below... are you sure I don't need to place > > the custForm back into the session somehow ? > > > > > > Thanks > > Mark > > > > logger.debug("performAction starting"); > > ActionErrors errors = new ActionErrors(); > > ActionForward actionForward = mapping.findForward(FAILURE); > > CustomerDetailsForm custForm = (CustomerDetailsForm) form; > > HttpSession session = (HttpSession) request.getSession(); > > > > custForm = this.setup( session ); > > actionForward = mapping.findForward(SUCCESS); > > > > logger.debug("performAction exiting"); > > > > Action Declaration: > > > > <action path="/customer.customerAccountDetails.edit" > > type="com.yordata.action.customer.CustomerAccountDetailsEditAction" > > name="customerDetailsForm" > > scope="session" > > input="customer.account_details_view"> > > <forward name="success" > > path="/customer.customerAccountDetails.view.do"/> > > <forward name="failure" path="customer.edit_accountdetails"/> > > </action> > > > > > > -----Original Message----- > > From: Eddie Bush [mailto:[EMAIL PROTECTED]] > > Sent: Friday, December 20, 2002 2:13 PM > > To: Struts Users Mailing List > > Subject: Re: Pre-populating Form Bean > > > > If this is a form which you've declared in your config file, and it's > > associated with this action and you're forwarding to a JSP, you really > > needn't bother sticking it into any scope. Struts will do this for you. > > > > Just populate the form and return an ActionForward and let Struts do > > it's thing. > > > > ... so far as your error is concerned, I can't imagine why you're > > receiving it. You did specify a 'name="formName"' as an attribute to > > this action, right? That's how you make the association between the > > action and the form. I believe this value would probably be null if you > > > > didn't specify that attribute - and I can see where that would generate > > an error. > > > > Ah - yes. I see your action declaration now. Add in > > 'name="customerDetailsForm"' to your <action line. That will build the > > association for you. Once you've done this, you no longer have to worry > > > > about creating the form ... or anything like that - and it's the *only* > > way you're going to get Struts to populate the form for you > > automatically (why would it populate something if it doesn't know there > > is something to populate?). > > > > Good luck! > > > > Mark Conlin wrote: > > > > > > > >I would like to pre-populate a form bean for an edit screen. > > >I have spent the last hour or two reading the archives and still I have > > >failed to find the help I need. > > >Any feedback would be appreciated. > > > > > >I have an Action class CustomerAccountDetailsPreEditAction that > > >pre-populates my form. > > >However, I do not know how to place the form back into the session or > > >request so that the jsp page can find it and use it to display values. > > > > > >request.setAttribute(mapping.getName(), myForm); > > >session.setAttribute(mapping.getName(), myForm); > > > > > >Both result in an error. > > > > > >Here is the action declaration: > > > <action path="/customer.customerAccountDetails.pre.edit" > > > > > >type="com.yordata.action.customer.CustomerAccountDetailsPreEditAction"> > > > <forward name="success" > > >path="customer.edit_accountdetails"/> > > > </action> > > > > > > > > >Here is the form declaration: > > ><form-bean name="customerDetailsForm" > > >type="com.yordata.form.CustomerDetailsForm"/> > > > > > > > > >Thanks for your help, > > >Mark > > > > > > > > > > > > > -- > > Eddie Bush > > > > > > > > > > > > -- > > To unsubscribe, e-mail: > > <mailto:[EMAIL PROTECTED]> > > For additional commands, e-mail: > > <mailto:[EMAIL PROTECTED]> > > > > > > -- > > To unsubscribe, e-mail: > > <mailto:[EMAIL PROTECTED]> > > For additional commands, e-mail: > > <mailto:[EMAIL PROTECTED]> > > > > > > -- > > To unsubscribe, e-mail: > > <mailto:[EMAIL PROTECTED]> > > For additional commands, e-mail: > > <mailto:[EMAIL PROTECTED]> > > > > > > -- > > To unsubscribe, e-mail: > <mailto:[EMAIL PROTECTED]> > > For additional commands, e-mail: > <mailto:[EMAIL PROTECTED]> > > > > > > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>