Is the solution (volatile=true) still valid for 5.0.17?
Or maybe any new clarifications?
Can not make my  loop update source :(

TYA



On Thu, Oct 23, 2008 at 10:15 AM, Andy Pahne <[EMAIL PROTECTED]> wrote:

>
> 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]
>
>

Reply via email to