RE: Where are my ActionForm's changes?
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:[EMAIL PROTECTED]] 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 tdbean:write name=parameter property=orderLineNumber //td tdbean:write name=parameter property=itemName //td tdbean:write name=parameter property=quantityOrdered //td tdhtml:text name=parameter property=quantityCancelled indexed=true size=3 maxlength=3//td tdhtml: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
Re: Where are my ActionForm's changes?
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 tdbean:write name=parameter property=orderLineNumber //td tdbean:write name=parameter property=itemName //td tdbean:write name=parameter property=quantityOrdered //td tdhtml:text name=parameter property=quantityCancelled indexed=true size=3 maxlength=3//td tdhtml: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
RE: Where are my ActionForm's changes?
Are the debug statements in the action showing the updated values? Can you check the source of the generated HTML and ensure that the name of the form matches the value of the 'name' attribute of your action mapping? Sri -Original Message- From: MarwanSalam [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Friday, February 21, 2003 11:22 AM To: [EMAIL PROTECTED] Subject: Re: Where are my ActionForm's changes? 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 tdbean:write name=parameter property=orderLineNumber //td tdbean:write name=parameter property=itemName //td tdbean:write name=parameter property=quantityOrdered //td tdhtml:text name=parameter property=quantityCancelled indexed=true size=3 maxlength=3//td tdhtml: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
Re: Where are my ActionForm's changes?
Hi Sri, Below is the generated HTML source. It indicates the correct form name updateOrderForm. The debug statements are all over the place and they do not indicate any updated value from my form. That's the weired thing. Nothing is changed inside the form and nothing is changed in the Action either. form name=updateOrderForm method=post action=/supplyWeb/updateOrder.do input type=hidden name=action value=updateOrder Thanks, Marwan --- In [EMAIL PROTECTED], Sri Sankaran [EMAIL PROTECTED] wrote: Are the debug statements in the action showing the updated values? Can you check the source of the generated HTML and ensure that the name of the form matches the value of the 'name' attribute of your action mapping? Sri -Original Message- From: MarwanSalam [EMAIL PROTECTED] [mailto:marwansalam@y...] Sent: Friday, February 21, 2003 11:22 AM To: [EMAIL PROTECTED] Subject: Re: Where are my ActionForm's changes? 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 tdbean:write name=parameter property=orderLineNumber //td tdbean:write name=parameter property=itemName //td tdbean:write name=parameter property=quantityOrdered //td tdhtml:text name=parameter property=quantityCancelled indexed=true size=3 maxlength=3//td tdhtml: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
RE: Where are my ActionForm's changes?
Sorry; nothing jumps out from what you have sent. Sri -Original Message- From: Marwan [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Friday, February 21, 2003 12:08 PM To: [EMAIL PROTECTED] Subject: Re: Where are my ActionForm's changes? Hi Sri, Below is the generated HTML source. It indicates the correct form name updateOrderForm. The debug statements are all over the place and they do not indicate any updated value from my form. That's the weired thing. Nothing is changed inside the form and nothing is changed in the Action either. form name=updateOrderForm method=post action=/supplyWeb/updateOrder.do input type=hidden name=action value=updateOrder Thanks, Marwan --- In [EMAIL PROTECTED], Sri Sankaran [EMAIL PROTECTED] wrote: Are the debug statements in the action showing the updated values? Can you check the source of the generated HTML and ensure that the name of the form matches the value of the 'name' attribute of your action mapping? Sri -Original Message- From: MarwanSalam [EMAIL PROTECTED] [mailto:marwansalam@y...] Sent: Friday, February 21, 2003 11:22 AM To: [EMAIL PROTECTED] Subject: Re: Where are my ActionForm's changes? 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 tdbean:write name=parameter property=orderLineNumber //td tdbean:write name=parameter property=itemName //td tdbean:write name=parameter property=quantityOrdered //td tdhtml:text name=parameter property=quantityCancelled indexed=true size=3 maxlength=3//td tdhtml: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
RE: Where are my ActionForm's changes?
Should the form really be html:form and input be some other html -Original Message- From: Sri Sankaran [mailto:[EMAIL PROTECTED]] Sent: Friday, February 21, 2003 10:41 AM To: Struts Users Mailing List Subject: RE: Where are my ActionForm's changes? Sorry; nothing jumps out from what you have sent. Sri -Original Message- From: Marwan [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] Sent: Friday, February 21, 2003 12:08 PM To: [EMAIL PROTECTED] Subject: Re: Where are my ActionForm's changes? Hi Sri, Below is the generated HTML source. It indicates the correct form name updateOrderForm. The debug statements are all over the place and they do not indicate any updated value from my form. That's the weired thing. Nothing is changed inside the form and nothing is changed in the Action either. form name=updateOrderForm method=post action=/supplyWeb/updateOrder.do input type=hidden name=action value=updateOrder Thanks, Marwan --- In [EMAIL PROTECTED], Sri Sankaran [EMAIL PROTECTED] wrote: Are the debug statements in the action showing the updated values? Can you check the source of the generated HTML and ensure that the name of the form matches the value of the 'name' attribute of your action mapping? Sri -Original Message- From: MarwanSalam [EMAIL PROTECTED] [mailto:marwansalam@y...] Sent: Friday, February 21, 2003 11:22 AM To: [EMAIL PROTECTED] Subject: Re: Where are my ActionForm's changes? 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 tdbean:write name=parameter property=orderLineNumber //td tdbean:write name=parameter property=itemName //td tdbean:write name=parameter property=quantityOrdered //td tdhtml:text name=parameter property=quantityCancelled indexed=true size=3 maxlength=3//td tdhtml: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
Re: Where are my ActionForm's changes?
That was the output of the JSP on the client side. This is the source JSP: html:form action=updateOrder html:hidden property=action value=updateOrder / logic:iterate id=parameter name=updateOrderForm property=parameterList tr tdbean:write name=parameter property=orderLineNumber //td tdbean:write name=parameter property=itemName //td tdbean:write name=parameter property=quantityOrdered //td tdhtml:text name=parameter property=quantityShipped indexed=true size=3 maxlength=3//td tdhtml:text name=parameter property=comment indexed=true size=20 maxlength=20//td /tr /logic:iterate html:submit/ /html:form Marwan --- In [EMAIL PROTECTED], Ray Madigan [EMAIL PROTECTED] wrote: Should the form really be html:form and input be some other html -Original Message- From: Sri Sankaran [mailto:Sri.Sankaran@s...] Sent: Friday, February 21, 2003 10:41 AM To: Struts Users Mailing List Subject: RE: Where are my ActionForm's changes? Sorry; nothing jumps out from what you have sent. Sri -Original Message- From: Marwan [EMAIL PROTECTED] [mailto:marwansalam@y...] Sent: Friday, February 21, 2003 12:08 PM To: [EMAIL PROTECTED] Subject: Re: Where are my ActionForm's changes? Hi Sri, Below is the generated HTML source. It indicates the correct form name updateOrderForm. The debug statements are all over the place and they do not indicate any updated value from my form. That's the weired thing. Nothing is changed inside the form and nothing is changed in the Action either. form name=updateOrderForm method=post action=/supplyWeb/updateOrder.do input type=hidden name=action value=updateOrder Thanks, Marwan --- In [EMAIL PROTECTED], Sri Sankaran [EMAIL PROTECTED] wrote: Are the debug statements in the action showing the updated values? Can you check the source of the generated HTML and ensure that the name of the form matches the value of the 'name' attribute of your action mapping? Sri -Original Message- From: MarwanSalam [EMAIL PROTECTED] [mailto:marwansalam@y...] Sent: Friday, February 21, 2003 11:22 AM To: [EMAIL PROTECTED] Subject: Re: Where are my ActionForm's changes? 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 tdbean:write name=parameter property=orderLineNumber //td tdbean:write name=parameter property=itemName //td tdbean:write name=parameter property=quantityOrdered //td tdhtml:text name=parameter property
RE: Where are my ActionForm's changes?
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:[EMAIL PROTECTED]] 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]
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]
RE: Where are my ActionForm's changes?
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:[EMAIL PROTECTED]] 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]
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 tdbean:write name=parameter property=orderLineNumber //td tdbean:write name=parameter property=itemName //td tdbean:write name=parameter property=quantityOrdered //td tdhtml:text name=parameter property=quantityCancelled indexed=true size=3 maxlength=3//td tdhtml: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
Re: Where are my ActionForm's changes? and HashMaps please help...
In the same way as the ArrayList not changing, I am having difficulty with hashmaps and iteration (still ;). - I'm using html:text logic:iterate name=_engineerFHM property=products id=product html:text name=product property=key / br html:text name=product property=value / br /logic:iterate then after changing either only the value, or key, or both and submitting, I dump the contents of the form bean in the Action and there is no change in the HashMap at all... value or key... Has anyone else seen this problem? If I use a String[], there are changes in the form... what am I doing wrong? Am I using the underlying Map.Entry in the above jsp incorrectly? -Rand - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]