Re: array of indexed html:text values not submitting

2004-09-21 Thread Matt Bathje
[EMAIL PROTECTED] wrote:
I'm working from the examples here:
http://www.developer.com/java/ejb/article.php/3321521
I have an array of values that are sent to a page for editing.  The page
is coming up ok with the correct text box values as seen below
(item[0].xxx, etc).  But when the form is submitted the changes don't
show up in PersistEditAction.  The form contains the original data just
as it was before the forward from LoadEditAction.
Thanks for any help,
Brady
input type=text name=item[0].quantity value=
input type=text name=item[0].price value=785.0
input type=text name=item[1].quantity value=
input type=text name=item[1].price value=225.0
form-bean
name=Items
type=org.apache.struts.validator.DynaValidatorActionForm
form-property name=items
type=com.litriusgroup.cart.hibernate.SimpleItem[] /
/form-bean
action path=/Edit
type=com.stuff.struts.LoadEditAction
name=Items
scope=session
validate=false
forward name=success path=/admin/edit.jsp /
/action
action path=/saveEdit
type=com.stuff.struts.PersistEditAction
name=Items
scope=session
validate=false
forward name=success path=/admin/edit.jsp /
forward name=error path=/admin/edit.jsp /
/action

Is it possible you can post the relevant parts of LoadEditAction and 
PersistEditAction? Without those I don't think anybody will be able to help.

Matt

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: array of indexed html:text values not submitting

2004-09-21 Thread Matt Bathje
I see 2 things wrong right now - first is that you are using a 
DynaValidatorActionForm in your form-bean definition, but a 
DynaValidatorForm to cast the form in your loader and action code. This 
is not the cause of your problem I think, just something to watch out for.

The second is that I'm not entirely sure how those form variables got 
generated - based on what I see in your form-bean definition and in your 
 java code, the form property you are loading with this data is called 
items - the form is apparently generating input tags with item[x].ID 
(etc.) as the name, instead of items[x].ID (etc.) as the name. This 
would most explain why when you read the form data it is just reading 
the default instead of what you changed it to in the form.

If neither of these helped, I would say that we also need to see a 
cut/paste of the JSP for the form, and a cut/paste of what gets 
generated to the brower.

Matt


[EMAIL PROTECTED] wrote:
Thanks for the reply.  Here are the relevant sections of LoadAction and
PersistAction:
LoadAction:
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
DynaValidatorForm passForm = (DynaValidatorForm)form;
SimpleItem[] itemsArray = new SimpleItem[2];
itemsArray[0] = new SimpleItem();
itemsArray[0].setQuantity(10);
itemsArray[0].setPrice(45.0);
itemsArray[1] = new SimpleItem();
itemsArray[1].setQuantity();
itemsArray[1].setPrice(225.0);
passForm.set( items, itemsArray );
return mapping.findForward( success );
}
PersistAction:
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
DynaValidatorForm passForm = (DynaValidatorForm) form;
SimpleItem[] itemArray = (SimpleItem[])passForm.get(items);
return mapping.findForward(forward);
}

I'm working from the examples here:
http://www.developer.com/java/ejb/article.php/3321521
I have an array of values that are sent to a page for editing.  The page
is coming up ok with the correct text box values as seen below
(item[0].xxx, etc).  But when the form is submitted the changes don't
show up in PersistEditAction.  The form contains the original data just
as it was before the forward from LoadEditAction.
Thanks for any help,
Brady
input type=text name=item[0].quantity value=
input type=text name=item[0].price value=785.0
input type=text name=item[1].quantity value=
input type=text name=item[1].price value=225.0
form-bean
   name=Items
   type=org.apache.struts.validator.DynaValidatorActionForm
   form-property name=items
   type=com.litriusgroup.cart.hibernate.SimpleItem[] /
/form-bean
action path=/Edit
   type=com.stuff.struts.LoadEditAction
   name=Items
   scope=session
   validate=false
   forward name=success path=/admin/edit.jsp /
/action
action path=/saveEdit
   type=com.stuff.struts.PersistEditAction
   name=Items
   scope=session
   validate=false
   forward name=success path=/admin/edit.jsp /
   forward name=error path=/admin/edit.jsp /
/action
Is it possible you can post the relevant parts of LoadEditAction and
PersistEditAction? Without those I don't think anybody will be able to
help.
Matt

-
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: array of indexed html:text values not submitting

2004-09-21 Thread bradyh
I caught the DynaValidatorActionForm/DynaValidatorForm problem too after I
sent out the email and corrected it but it didn't help.

Here are a few lines of my JSP (which should explain the item/items
question):

html:form method=post action=saveEdit
  c:forEach var=item items=${Items.map.items}
html:text name=item indexed=true property=quantity /
html:text name=item indexed=true property=price /
  /c:forEach
/html:form

and here's the resulting html:

form name=InventoryItems method=post action=/saveEdit
  input type=text name=item[0].quantity value=10
  input type=text name=item[0].price value=45.0
  input type=text name=item[1].quantity value=
  input type=text name=item[1].price value=225.0
/form

BTW: I tried updating my struts libs to 1.2.4 but that didn't help.  I
also put a String into the Items formbean and a corresponding textfield on
the page and that data passes through just fine.  It's only the item[x]
changes that fail.

Thanks,
Brady

 I see 2 things wrong right now - first is that you are using a
 DynaValidatorActionForm in your form-bean definition, but a
 DynaValidatorForm to cast the form in your loader and action code. This
 is not the cause of your problem I think, just something to watch out for.

 The second is that I'm not entirely sure how those form variables got
 generated - based on what I see in your form-bean definition and in your
   java code, the form property you are loading with this data is called
 items - the form is apparently generating input tags with item[x].ID
 (etc.) as the name, instead of items[x].ID (etc.) as the name. This
 would most explain why when you read the form data it is just reading
 the default instead of what you changed it to in the form.

 If neither of these helped, I would say that we also need to see a
 cut/paste of the JSP for the form, and a cut/paste of what gets
 generated to the brower.

 Matt






 [EMAIL PROTECTED] wrote:

 Thanks for the reply.  Here are the relevant sections of LoadAction and
 PersistAction:

 LoadAction:
 public ActionForward execute(
  ActionMapping mapping,
  ActionForm form,
  HttpServletRequest request,
  HttpServletResponse response)
  throws Exception {

  DynaValidatorForm passForm = (DynaValidatorForm)form;

  SimpleItem[] itemsArray = new SimpleItem[2];

  itemsArray[0] = new SimpleItem();
  itemsArray[0].setQuantity(10);
  itemsArray[0].setPrice(45.0);

  itemsArray[1] = new SimpleItem();
  itemsArray[1].setQuantity();
  itemsArray[1].setPrice(225.0);

  passForm.set( items, itemsArray );

  return mapping.findForward( success );
 }


 PersistAction:
 public ActionForward execute(
  ActionMapping mapping,
  ActionForm form,
  HttpServletRequest request,
  HttpServletResponse response)
  throws Exception {

  DynaValidatorForm passForm = (DynaValidatorForm) form;

  SimpleItem[] itemArray = (SimpleItem[])passForm.get(items);

  return mapping.findForward(forward);
 }


I'm working from the examples here:
http://www.developer.com/java/ejb/article.php/3321521

I have an array of values that are sent to a page for editing.  The
 page
is coming up ok with the correct text box values as seen below
(item[0].xxx, etc).  But when the form is submitted the changes don't
show up in PersistEditAction.  The form contains the original data just
as it was before the forward from LoadEditAction.

Thanks for any help,
Brady

input type=text name=item[0].quantity value=
input type=text name=item[0].price value=785.0

input type=text name=item[1].quantity value=
input type=text name=item[1].price value=225.0


form-bean
name=Items
type=org.apache.struts.validator.DynaValidatorActionForm
form-property name=items
type=com.litriusgroup.cart.hibernate.SimpleItem[] /
/form-bean

action path=/Edit
type=com.stuff.struts.LoadEditAction
name=Items
scope=session
validate=false
forward name=success path=/admin/edit.jsp /
/action
action path=/saveEdit
type=com.stuff.struts.PersistEditAction
name=Items
scope=session
validate=false
forward name=success path=/admin/edit.jsp /
forward name=error path=/admin/edit.jsp /
/action


Is it possible you can post the relevant parts of LoadEditAction and
PersistEditAction? Without those I don't think anybody will be able to
help.

Matt



-
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: array of indexed html:text values not submitting

2004-09-21 Thread Matt Bathje
I really think the inconsistent usage of item/items is your problem 
here. Try changing the c:forEach var=item to be var=items and then 
change your html:text name=item to have name=items.

The name for the html:text needs to generate the form-property from your 
form bean definition for this to work correctly.

Matt

[EMAIL PROTECTED] wrote:
I caught the DynaValidatorActionForm/DynaValidatorForm problem too after I
sent out the email and corrected it but it didn't help.
Here are a few lines of my JSP (which should explain the item/items
question):
html:form method=post action=saveEdit
  c:forEach var=item items=${Items.map.items}
html:text name=item indexed=true property=quantity /
html:text name=item indexed=true property=price /
  /c:forEach
/html:form
and here's the resulting html:
form name=InventoryItems method=post action=/saveEdit
  input type=text name=item[0].quantity value=10
  input type=text name=item[0].price value=45.0
  input type=text name=item[1].quantity value=
  input type=text name=item[1].price value=225.0
/form
BTW: I tried updating my struts libs to 1.2.4 but that didn't help.  I
also put a String into the Items formbean and a corresponding textfield on
the page and that data passes through just fine.  It's only the item[x]
changes that fail.
Thanks,
Brady

I see 2 things wrong right now - first is that you are using a
DynaValidatorActionForm in your form-bean definition, but a
DynaValidatorForm to cast the form in your loader and action code. This
is not the cause of your problem I think, just something to watch out for.
The second is that I'm not entirely sure how those form variables got
generated - based on what I see in your form-bean definition and in your
 java code, the form property you are loading with this data is called
items - the form is apparently generating input tags with item[x].ID
(etc.) as the name, instead of items[x].ID (etc.) as the name. This
would most explain why when you read the form data it is just reading
the default instead of what you changed it to in the form.
If neither of these helped, I would say that we also need to see a
cut/paste of the JSP for the form, and a cut/paste of what gets
generated to the brower.
Matt


[EMAIL PROTECTED] wrote:

Thanks for the reply.  Here are the relevant sections of LoadAction and
PersistAction:
LoadAction:
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
DynaValidatorForm passForm = (DynaValidatorForm)form;
SimpleItem[] itemsArray = new SimpleItem[2];
itemsArray[0] = new SimpleItem();
itemsArray[0].setQuantity(10);
itemsArray[0].setPrice(45.0);
itemsArray[1] = new SimpleItem();
itemsArray[1].setQuantity();
itemsArray[1].setPrice(225.0);
passForm.set( items, itemsArray );
return mapping.findForward( success );
}
PersistAction:
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
DynaValidatorForm passForm = (DynaValidatorForm) form;
SimpleItem[] itemArray = (SimpleItem[])passForm.get(items);
return mapping.findForward(forward);
}

I'm working from the examples here:
http://www.developer.com/java/ejb/article.php/3321521
I have an array of values that are sent to a page for editing.  The
page
is coming up ok with the correct text box values as seen below
(item[0].xxx, etc).  But when the form is submitted the changes don't
show up in PersistEditAction.  The form contains the original data just
as it was before the forward from LoadEditAction.
Thanks for any help,
Brady
input type=text name=item[0].quantity value=
input type=text name=item[0].price value=785.0
input type=text name=item[1].quantity value=
input type=text name=item[1].price value=225.0
form-bean
  name=Items
  type=org.apache.struts.validator.DynaValidatorActionForm
  form-property name=items
  type=com.litriusgroup.cart.hibernate.SimpleItem[] /
/form-bean
action path=/Edit
  type=com.stuff.struts.LoadEditAction
  name=Items
  scope=session
  validate=false
  forward name=success path=/admin/edit.jsp /
/action
action path=/saveEdit
  type=com.stuff.struts.PersistEditAction
  name=Items
  scope=session
  validate=false
  forward name=success path=/admin/edit.jsp /
  forward name=error path=/admin/edit.jsp /
/action
Is it possible you can post the relevant parts of LoadEditAction and
PersistEditAction? Without those I don't think anybody will be able to
help.
Matt

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: array of indexed html:text values not submitting

2004-09-21 Thread Matt Bathje
Matt Bathje wrote:
I really think the inconsistent usage of item/items is your problem 
here. Try changing the c:forEach var=item to be var=items and then 
change your html:text name=item to have name=items.

The name for the html:text needs to generate the form-property from your 
form bean definition for this to work correctly.
I just realized this sentence makes no sense...so...The name for the 
html:text needs to match what is in the form-property from your form 
bean definition for this to work correctly.

Matt

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: array of indexed html:text values not submitting

2004-09-21 Thread Matt Bathje
I've never looked at the DynaForm code too closely, but it must do this, 
because I use DynaForms with indexed properties all over the place.

Matt
[EMAIL PROTECTED] wrote:
Not sure how the dyna forms work, but you will need to check it generates a
getItem(int num) method - this will be called when populating
item[0].quantity ie getItem(0).setQuantity(value).
cheers,
David

|-+
| |   [EMAIL PROTECTED]|
| |   net  |
| ||
| |   09/21/2004 12:50 |
| |   PM   |
| |   Please respond to|
| |   Struts Users|
| |   Mailing List|
| ||
|-+
  
|
  |
|
  |   To:   [EMAIL PROTECTED]  
   |
  |   cc:  
|
  |   Subject:  Re: array of indexed html:text values not submitting   
|
  
|

I caught the DynaValidatorActionForm/DynaValidatorForm problem too after I
sent out the email and corrected it but it didn't help.
Here are a few lines of my JSP (which should explain the item/items
question):
html:form method=post action=saveEdit
  c:forEach var=item items=${Items.map.items}
html:text name=item indexed=true property=quantity /
html:text name=item indexed=true property=price /
  /c:forEach
/html:form
and here's the resulting html:
form name=InventoryItems method=post action=/saveEdit
  input type=text name=item[0].quantity value=10
  input type=text name=item[0].price value=45.0
  input type=text name=item[1].quantity value=
  input type=text name=item[1].price value=225.0
/form
BTW: I tried updating my struts libs to 1.2.4 but that didn't help.  I
also put a String into the Items formbean and a corresponding textfield on
the page and that data passes through just fine.  It's only the item[x]
changes that fail.
Thanks,
Brady

I see 2 things wrong right now - first is that you are using a
DynaValidatorActionForm in your form-bean definition, but a
DynaValidatorForm to cast the form in your loader and action code. This
is not the cause of your problem I think, just something to watch out
for.
The second is that I'm not entirely sure how those form variables got
generated - based on what I see in your form-bean definition and in your
 java code, the form property you are loading with this data is called
items - the form is apparently generating input tags with item[x].ID
(etc.) as the name, instead of items[x].ID (etc.) as the name. This
would most explain why when you read the form data it is just reading
the default instead of what you changed it to in the form.
If neither of these helped, I would say that we also need to see a
cut/paste of the JSP for the form, and a cut/paste of what gets
generated to the brower.
Matt


[EMAIL PROTECTED] wrote:

Thanks for the reply.  Here are the relevant sections of LoadAction and
PersistAction:
LoadAction:
public ActionForward execute(ActionMapping mapping,
  ActionForm form,
  HttpServletRequest request,
  HttpServletResponse response)
  throws Exception {
  DynaValidatorForm passForm = (DynaValidatorForm)form;
  SimpleItem[] itemsArray = new SimpleItem[2];
  itemsArray[0] = new SimpleItem();
  itemsArray[0].setQuantity(10);
  itemsArray[0].setPrice(45.0);
  itemsArray[1] = new SimpleItem();
  itemsArray[1].setQuantity();
  itemsArray[1].setPrice(225.0);
  passForm.set( items, itemsArray );
  return mapping.findForward( success );
}
PersistAction:
public ActionForward execute(ActionMapping mapping,
  ActionForm form,
  HttpServletRequest request,
  HttpServletResponse response)
  throws Exception {
  DynaValidatorForm passForm = (DynaValidatorForm) form;
  SimpleItem[] itemArray = (SimpleItem[])passForm.get(items);
  return mapping.findForward(forward);
}

I'm working from the examples here:
http://www.developer.com/java/ejb/article.php/3321521
I have an array of values that are sent to a page for editing.  The
page
is coming up ok with the correct text box values as seen below
(item[0].xxx, etc).  But when the form is submitted the changes don't
show up in PersistEditAction.  The form contains the original data just
as it was before the forward from LoadEditAction.
Thanks for any help,
Brady
input type=text name=item[0].quantity value=
input type=text name=item[0].price value=785.0

array of indexed html:text values not submitting

2004-09-20 Thread bradyh
I'm working from the examples here:
http://www.developer.com/java/ejb/article.php/3321521

I have an array of values that are sent to a page for editing.  The page
is coming up ok with the correct text box values as seen below
(item[0].xxx, etc).  But when the form is submitted the changes don't
show up in PersistEditAction.  The form contains the original data just
as it was before the forward from LoadEditAction.

Thanks for any help,
Brady

input type=text name=item[0].quantity value=
input type=text name=item[0].price value=785.0

input type=text name=item[1].quantity value=
input type=text name=item[1].price value=225.0


form-bean
name=Items
type=org.apache.struts.validator.DynaValidatorActionForm
form-property name=items
type=com.litriusgroup.cart.hibernate.SimpleItem[] /
/form-bean

action path=/Edit
type=com.stuff.struts.LoadEditAction
name=Items
scope=session
validate=false
forward name=success path=/admin/edit.jsp /
/action
action path=/saveEdit
type=com.stuff.struts.PersistEditAction
name=Items
scope=session
validate=false
forward name=success path=/admin/edit.jsp /
forward name=error path=/admin/edit.jsp /
/action


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]