Yeah, guess you could do that too, but then you'd have to wrap one model into another (since LDM does not do property matching like CPM) + you've to extend LDM.
On Wed, Apr 14, 2010 at 9:24 AM, James Carman <jcar...@carmanconsulting.com>wrote: > Why not use a LoadableDetachableModel instead of setting on > onBeforeRender()? > > On Wed, Apr 14, 2010 at 12:10 PM, Nikita Tovstoles > <nikita.tovsto...@gmail.com> wrote: > > If you're using a CPM there's no need to explicitly set models for child > > components. Also think about what you want to happen on page reload. > > Generally I'd imagine you want current data, so set CPM's object on > > Page.onBeforeRender(): > > > > public class EmployeeMain extends BasePage{ > > > > final private Form<Contact> employeeForm; > > > > public EmployeeMain() > > { > > //super(); //no need - call implied > > employeeForm = new Form<Contact>("employeeContactForm", new > > CompoundpropertyModel(null)); //we'll set model object @ page render time > > add(employeeForm); > > employeeForm.add(new TextField<String>("firstName")); //assuming > existence > > of String contact.getFirstName() method > > employeeForm.add(new TextField<String>("lastName")); > > } > > > > @Override > > public void onBeforeRender() > > { > > > employeeForm.setDefaultModelObject(getEmployeeSession().getEmployee().getEmpInfo()); > > //get up-to-date Contact and set as CPM's object > > super.onBeforeRender(); //have to call to allow page children to render > > themselves > > } > > > > that's it. Note that if you set CPM's object in page constructor, then on > > page refresh, Contact won't be updated (because constructor won't run, > but > > onBeforeRender() will). > > > > > > > > On Wed, Apr 14, 2010 at 8:39 AM, David Hamilton < > > dhamil...@hermitagelighting.com> wrote: > > > >> > >> I'm a new Wicket using trying to figure out how to populate a form's > >> initial value with data from a bean (that is in the session already). > >> I've actually got it working, but I don't think I'm doing the best way. > >> public final class EmployeeMain extends BasePage { > >> public EmployeeMain() { > >> super (); > >> Form employeeForm=new Form("employeeContactForm"); > >> Contact contact=getEmployeeSession().getEmployee().getEmpInfo(); > >> employeeForm.setModel(new CompoundPropertyModel(contact)); > >> add(new TextField("firstName",new > >> Model(contact.getFirstName()))); > >> add(new TextField("lastName")); > >> > >> } > >> > >> My issue is with this line: > >> add(new TextField("firstName",new Model(contact.getFirstName()))); > >> Should I have to set the model even though I'm binding the form to a > >> bean has this property? > >> What is the correct way to handle setting the initial form value from a > >> bean? > >> > >> Thanks, > >> > >> David > >> > >> ******************************************** > >> Keep it Green! To help protect the environment, please > >> only print this email if necessary. > >> Printing email can cost more than you think. > >> Learn more on our website: > >> http://www.hermitagelighting.com/printing_email.php > >> > >> The information transmitted in this email is > >> intended solely for the individual or entity > >> to which it is addressed and may contain > >> confidential and/or privileged material. > >> Any review, retransmission, dissemination or > >> other use of or taking action in reliance > >> upon this information by persons or entities > >> other than the intended recipient is prohibited. > >> If you have received this email in error please > >> immediately notify us by reply email to the sender. > >> You must destroy the original material and its contents from any > computer. > >> ******************************************** > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > >> For additional commands, e-mail: users-h...@wicket.apache.org > >> > >> > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > >