Perhaps you could post your full template and class. I don't see a submit component so I question what else has been omitted.
Jonathan > -----Original Message----- > From: Andy Pahne [mailto:[EMAIL PROTECTED] > Sent: Thursday, October 23, 2008 11:15 > To: Tapestry users > Subject: [T5] editing a looped list of objects' properties in a form > > > I am trying to edit the properties of objects contained in a list by > using a loop in a form component. But it does not work, because the > objects in the list are not updated. > > > > The list of passengers: > > @Property @Persist > private List<Passenger> passengers; > > > This list is initialized like this: > > @BeforeRenderTemplate > public void initialize() { > int passengersTotal = getQuery().getPassengersTotal(); > if(passengers == null) { > passengers = new ArrayList<Passenger>(passengersTotal); > for (int i = 0; i < passengersTotal; i++) { > passengers.add(new Passenger()); > } > } > } > > > > I try to buid a form in order to edit the passengers like this: > > > <form t:type="Form" > t:id="search_accommodation" > t:clientValidation="false" > t:autofocus="false"> > <t:loop source="passengers" value="passenger"> > <fieldset class="column first"> > <legend>${message:firstName-label}</legend> > <input type="text" > t:type="TextField" > t:value="passenger.firstName" > t:validate="required,minLength=2" > t:id="firstName"/> > </fieldset> > </t:loop> > </form> > > > > > Unfortunatly, after a successful submit, the firstName property is not > set for any of the passengers contained in that list. I veryify that by > the following logging statements: > > > public void onSuccess() { > int passengersTotal = getSearchOptions().getPassengersTotal(); > for (int i = 0; i < passengersTotal; i++) { > System.out.println("Passenger '"+i+"'" + ": " + > passengers.get(i).getFirstName()); > } > } > > > which always produces the output: > > Passenger '0': null > Passenger '1': null > > > I thought that this would be the way to go, but I must be wrong somehow. > Could anybody tell me what's the correct pattern to use here? > > > Thank you, > Andy > > > > > > > > > > --------------------------------------------------------------------- > 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]