I removed "name" and "type" attributes from my <html:form> tag. I also changed the name of the form in <action-mappings> but still the same problem. Is there a bug in Struts that the nested tags don't work with objects?
Thanks, Marwan --- In [EMAIL PROTECTED], "Sri Sankaran" <[EMAIL PROTECTED]> wrote: > Get rid of the 'name' and 'type' attributes from the <html:form>. The reasons? > > * they are deprecated. See > http://jakarta.apache.org/struts/userGuide/struts-html.html#form > * they are not necessary > * in your case the action mapping is referring to the form-bean > by the name 'myForm' and the <html:form>'s 'name' attribute is > indicating that a form named 'updateOrderForm' be used. These > will result in two instances of the same class. Not what you > want > > Hope that helps > > Sri > > -----Original Message----- > From: MarwanSalam <[EMAIL PROTECTED]> [mailto:marwansalam@y...] > Sent: Thursday, February 20, 2003 3:58 PM > To: [EMAIL PROTECTED] > Subject: Re: Where are my ActionForm's changes? > > > Hi Sri, > > You got it right. > > This is the code from my Action class that checks for the changes and > forwards the request to the same page again(I tried to forward to a > view-only page(showorderdetails.jsp) for testing purposes and the > changes still were not reflected). > > > UpdateOrdersAction.java > ------------------------- > UpdateOrderForm updateOrderForm = (UpdateOrderForm) form; > > if ("updateOrder".equalsIgnoreCase(action)) > { > List parametersList = updateOrderForm.getParameterList(); > > int size = parametersList.size(); > > for (int i = 0; i < size; i++) > { > OrderDetailModel model = ((UpdateOrderForm) form).getOrderDetail (i); > logger.debug("Form model is: " + model); > } > > Iterator iter = parametersList.iterator(); > if (logger.isDebugEnabled()) > { > while (iter.hasNext()) > { > OrderDetailModel orderDetail = (OrderDetailModel)iter.next(); > logger.debug(orderDetail.toString()); > } > } > > logger.debug(" Forwarding to 'edit' page"); > NDC.pop(); > return (mapping.findForward("edit")); > // this will take you back to the same page > } > > > > Here is an excerpt from "updateorder.jsp": > ----------------------------------------- > <html:form action="updateOrder" name="updateOrderForm" > type="mypackage.UpdateOrderForm" scope="session"> > <html:hidden property="action" value="updateOrder" /> <logic:iterate id="parameter" name="updateOrderForm" > property="parameterList"> > <tr> > <td><bean:write name="parameter" property="orderLineNumber" /></td> <td><bean:write name="parameter" property="itemName" /></td> <td><bean:write name="parameter" property="quantityOrdered" /></td> <td><html:text name="parameter" property="quantityCancelled" > indexed="true" size="3" maxlength="3"/></td> > <td><html:text name="parameter" property="status" indexed="true" > size="3" maxlength="3"/></td> > </tr> > </logic:iterate> > <html:submit/> > </html:form> > > I appreciate your help. > > Marwan > > > --- In [EMAIL PROTECTED], "Sri Sankaran" <[EMAIL PROTECTED]> > wrote: > > What I have gleaned so far, is > > > > * the user is viewing JSP-1 > > * the user updates the data and submits (invoking the action > > mapping you have shown (path=/updateOrder) > > > > Questions: > > * Are you detecting the updated data value(s) in your action? > > * Where is the user being directed? > > If showorderdetails.jsp or updateorder.jsp what is mapping for > > those pages? > > * Where are you noticing problems? > > > > Remember that if you go to new page and it uses a form-bean of the > same class but referred to by a different name, a new instance will > be used. > > > > Sri > > > > -----Original Message----- > > From: MarwanSalam <[EMAIL PROTECTED]> [mailto:marwansalam@y...] > > Sent: Thursday, February 20, 2003 1:55 PM > > To: [EMAIL PROTECTED] > > Subject: Re: Where are my ActionForm's changes? > > > > > > Thanks Sri for the quick reply. > > > > The first of two assumptions you mentioned below are not true but I > > am not sure about the third one: "forwarding to an action that is > re- initializing the form". > > > > My ActionForm.reset() is as follows: > > > > public void reset(ActionMapping mapping, HttpServletRequest > request) { > > action = null; > > } > > > > And here is my action-mapping: > > > > <action path="/updateOrder" > > type="MyAction" > > name="myForm" > > scope="session" > > validate="false" > > input="/updateorder.jsp"> > > <forward name="update" path="/showorderdetails.jsp"/> > > <forward name="edit" path="/updateorder.jsp"/> > > </action> > > > > > > The reset method does not have any code that initializes the form > > parameters so I don't know why this is happening. > > > > Marwan > > > > > > --- In [EMAIL PROTECTED], "Sri Sankaran" <[EMAIL PROTECTED]> > > wrote: > > > I'm not sure I understand completely. Are you returning to the > > same page after the form is submitted? What are you doing in the > > reset() and Action? > > > > > > That notwithstanding, here are some possibilities: > > > > > > * The text fields are not within a form > > > * You are re-directing to the page and not forwarding > > > * You are forwarding (or redirecting) to an action that is > > > re-initializing the form. > > > > > > Will need to see the necessary action mappings too. > > > > > > Sri > > > > > > > -----Original Message----- > > > > From: MarwanSalam <[EMAIL PROTECTED]> [mailto:marwansalam@y...] > > > > Sent: Thursday, February 20, 2003 1:09 PM > > > > To: [EMAIL PROTECTED] > > > > Subject: Where are my ActionForm's changes? > > > > > > > > > > > > Hi, > > > > > > > > I am using the <login:iterate> tag to display a collection of > > > > objects. The objects have attributes that some can > > > > be edited by the user. After the user changes some values and > > submits > > > > back to the Action class, the values that were changed in the > JSP > > are > > > > not reflected in the form. I know that because I tried to > iterate > > > > through the collection and displayed the values retained from > > both > > > > the ActionForm.reset() and from the Action class. No changes are > > > > retained; only the original values. I am using Struts 1.1-b3. > > > > > > > > Here is my ActionForm: > > > > > > > > private List parameterList = new ArrayList(); > > > > public List getParameterList() > > > > { > > > > return parameterList; > > > > } > > > > > > > > public void setParameterList(List parameterList) > > > > { > > > > this.parameterList = parameterList; > > > > } > > > > > > > > public MyObject getMyObject(int index) > > > > { > > > > return (MyObject) parameterList.get(index); > > > > } > > > > > > > > What's wrong? > > > > > > > > Marwan > > > > > > > > > > > > -------------------------------------------------------------- -- > -- > > --- > > > > 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] > > > > > > ------------------------------------------------------------------ -- > - > > 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] > > > -------------------------------------------------------------------- - > 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

