you can, just give the cpm reference to link as the model.
-igor
On Wed, Apr 9, 2008 at 1:31 AM, Tim Squires <[EMAIL PROTECTED]> wrote:
> OK. It's clicked. I was hoping to have a simple ajaxed submit link
> without having to create a fake property on the model object. No problem,
> I can see what I missed.
>
> Thanks for your help Igor.
>
> Tim
>
>
>
> > you said it yourself:
> >
> > "Insure that the component identifier names match
> > the appropriate property names."
> >
> > what that says is that the model you get is the property of the model
> > object that is in the cpm with the name of component id.
> >
> > so since your links id is "foo" it will try to pull out the model
> > object from the cpm and call getfoo() on it, the result of which is
> > the model object of the link
> >
> > -igor
> >
> >
> > On Tue, Apr 8, 2008 at 12:52 PM, Tim Squires <[EMAIL PROTECTED]> wrote:
> >> I have read it - a few times over the last 3 years of using Wicket and
> >> even bought the book ;)
> >>
> >> It says
> >>
> >> "To use a CompoundPropertyModel, simply set one as the model for a
> >> container, such as a Form or a Page. Create the contained components
> >> with
> >> no model of their own. Insure that the component identifier names match
> >> the appropriate property names."
> >>
> >> The AjaxSubmitLink is picking-up the parent forms compound property
> >> model
> >> but only checking to see if the "mylink" property exists when onSubmit
> >> calls getModelObject().
> >>
> >> I would like to get the Forms model via getModelObject but because it
> >> errors when called, I have to either set a false model on the
> >> AjaxSubmitLink or get the model object outside of the onSubmit, assign
> >> it
> >> to a final property and then use it in the onSubmit.
> >>
> >> I'm happy to admit that I'm doing something wrong but I cannot see what
> >> it
> >> is???
> >>
> >> Thanks again,
> >> Tim
> >>
> >>
> >>
> >> > no, components do not randomly pick up models from their parents. i
> >> > would suggest reading the models wiki page.
> >> >
> >> > -igor
> >> >
> >> >
> >> > On Mon, Apr 7, 2008 at 3:11 PM, Tim <[EMAIL PROTECTED]> wrote:
> >> >> Thanks Igor but should it not pick-up the model from the Form?
> >> There's
> >> >> no
> >> >> constructor that takes a model. Should the AjaxSubmitLink(id,
> >> form)
> >> >> constructor be used with the Form that it's being added to? e..g
> >> >>
> >> >> MyForm extends Form {
> >> >> public MyForm(....){
> >> >> ....
> >> >> add( new AjaxSubmitLink("mylink",this){
> >> >> ....
> >> >> });
> >> >> }}
> >> >>
> >> >> If it's already bound to a Form, should it not pick-up the model
> >> used
> >> >> by
> >> >> the form?
> >> >>
> >> >> Am I looking at the problem/solution the wrong way???
> >> >>
> >> >> Thanks again,
> >> >> Tim
> >> >>
> >> >>
> >> >>
> >> >> > you forgot to give ajaxsubmitlink a model, so getmodelobject()
> >> will
> >> >> > either return null or a compound model.confirm - neither of which
> >> i
> >> >> > think you want.
> >> >> >
> >> >> > -igor
> >> >> >
> >> >> >
> >> >> > On Mon, Apr 7, 2008 at 1:00 PM, Tim Squires <[EMAIL PROTECTED]>
> >> wrote:
> >> >> >> Hi,
> >> >> >>
> >> >> >> When adding an AjaxSubmitLink, the onSubmit method tries to
> >> access
> >> >> a
> >> >> >> property of the model object that does not exists:
> >> >> >>
> >> >> >> -------------------
> >> >> >> final AjaxSubmitLink confirmLink = new
> >> >> >> AjaxSubmitLink("confirm") {
> >> >> >> @Override
> >> >> >> public void onSubmit(final AjaxRequestTarget
> >> target,
> >> >> >> final Form form) {
> >> >> >> if (((Will) getModelObject()).getExecutor()
> >> !=
> >> >> null)
> >> >> >> {
> >> >> >> willModalWindow.show(target);
> >> >> >> } else {
> >> >> >> warn("Please choose an executor.");
> >> >> >> target.addComponent(feedback);
> >> >> >> }
> >> >> >> }
> >> >> >>
> >> >> >> @Override
> >> >> >> public void onError(final AjaxRequestTarget
> >> target,
> >> >> >> final Form form) {
> >> >> >> target.addComponent(feedback);
> >> >> >> }
> >> >> >> };
> >> >> >>
> >> >> >> add(confirmLink);
> >> >> >> -------------------
> >> >> >>
> >> >> >> It tries to access the "confirm" property of the Model, in this
> >> >> case a
> >> >> >> Will object.
> >> >> >>
> >> >> >> -------------------
> >> >> >> org.apache.wicket.WicketRuntimeException: No get method defined
> >> for
> >> >> >> class:
> >> >> >> class crystalmark.willfinder.model.Will expression: confirm
> >> >> >> at
> >> >> >>
> org.apache.wicket.util.lang.PropertyResolver.getGetAndSetter(PropertyResolver.java:433)
> >> >> >> at
> >> >> >>
> org.apache.wicket.util.lang.PropertyResolver.getObjectAndGetSetter(PropertyResolver.java:275)
> >> >> >> at
> >> >> >>
> org.apache.wicket.util.lang.PropertyResolver.getValue(PropertyResolver.java:84)
> >> >> >> at
> >> >> >>
> org.apache.wicket.model.AbstractPropertyModel.getObject(AbstractPropertyModel.java:113)
> >> >> >> at
> >> >> org.apache.wicket.Component.getModelObject(Component.java:1551)
> >> >> >> at
> >> >> >>
> crystalmark.willfinder.page.components.EditWillPanel$EditWillForm$5.onSubmit(EditWillPanel.java:183)
> >> >> >> at
> >> >> >>
> org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink$1.onSubmit(AjaxSubmitLink.java:94)
> >> >> >> at
> >> >> >>
> org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(AjaxFormSubmitBehavior.java:128)
> >> >> >> -------------------
> >> >> >>
> >> >> >> It's only when using the getModelObject method. If I get the
> >> Will
> >> >> >> object
> >> >> >> from else-where it works fine.
> >> >> >>
> >> >> >> Is this a problem with the way I'm using the model or a bug
> >> with
> >> >> >> AjaxSubmitLink? Should I add it to jira?
> >> >> >>
> >> >> >> Wicket 1.3.3 + JDK 1.6 + Tomcat 6
> >> >> >>
> >> >> >> Thanks,
> >> >> >> Tim
> >> >> >> -------------------
> >> >> >> http://www.tnwdb.com - Wicket Wills!
> >> >> >>
> >> >> >>
> >> >> >>
> ---------------------------------------------------------------------
> >> >> >> 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]
> >> >>
> >> >>
> >> >
> >> > ---------------------------------------------------------------------
> >> > 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]
> >
> >
>
>
>
> ---------------------------------------------------------------------
> 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]