a) you are not chaining the postcode and city models, so those values
will never make it into anything
b) so person.address is null? are you sure the person object you are
giving to the form has a non-null address bean? if so i would set a
modification breakpoint on the field and see where it is being set to
null.

-igor

On Tue, May 5, 2009 at 11:22 AM, FlyingMustang <[email protected]> wrote:
>
>
> igor.vaynberg wrote:
>>
>> show us your code.
>>
>
> Ok, I have a class 'Person' with an'Address-Property. My Form-object has a
> simple Model wrapping a Person-object. The constructor creating the Panel
> with the form contains these lines:
>
> form = new Form<Person>("form", new Model<Person>());
> personFormComponent = new
> PersonFormComponent<Student>("personFormComponent", form.getModel());
> addressFormComponent = new
> AddressFormComponent<Address>("addressFormComponent", new
> PropertyModel<Address>(this.form.getModel(), "address"));
>
> form.add(personFormComponent);
> form.add(addressFormComponent);
>
> After creation of this Panel I call form.setModelObject(...). So the model
> ist not empty. The PersonFormComponent works well as it only sets some
> String-Properties of the Person-Object. But I have trouble with the
> AddressFormComponent which looks like this:
>
> public class AddressFormComponent<T extends Address> extends
> FormComponentPanel<T> {
>        protected TextField<String> cityField, postcodeField, streetField;
>        protected IModel<T> model;
>
>        public AddressFormComponent(String id, IModel<T> model) {
>                super(id, model);
>
>                // Model
>                this.model = model;
>
>                // Straße
>                streetField = new TextField<String>("streetField", new
> PropertyModel<String>(model, "street"));
>                streetField.setRequired(true);
>                streetField.add(StringValidator.lengthBetween(0, 100));
>
>                // PLZ
>                postcodeField = new TextField<String>("postcodeField", new
> Model<String>(""));
>                postcodeField.setRequired(true);
>
>                // Stadt
>                cityField = new TextField<String>("cityField", new 
> Model<String>(""));
>                cityField.setRequired(true);
>                cityField.add(StringValidator.lengthBetween(0, 50));
>
>                this.add(streetField);
>                this.add(postcodeField);
>                this.add(cityField);
>        }
> }
>
> After submitting the whole form (with an AjaxButton) the Address-Property of
> my Person-Object ist null. Perhaps I did not use the Models correctly ...?
> --
> View this message in context: 
> http://www.nabble.com/Example-for-FormComponentPanel-best-practice-for-reusable-form-components-tp23391811p23393211.html
> Sent from the Wicket - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> 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]

Reply via email to