Martijn, they would still be in the form tag when rendered - see the
placement of the wicket:child tag.

However, I think Igor is right - the transparent resolver may not work on a
form.  I haven't used it for that, so I couldn't tell you.

What it really boils down to is that you need the subclasses to add their
components to the form.  You can either do it as I described in the first
post (getForm().add(...)).  Or you may come up with some other way.  Let us
know how it goes.

--
Jeremy Thomerson
http://www.wickettraining.com



On Mon, Mar 22, 2010 at 5:12 AM, Martijn Dashorst <
martijn.dasho...@gmail.com> wrote:

> I concur: the form fields need to be inside the <form> tag, otherwise
> the browser will not send them to the server.
>
> Martijn
>
> On Mon, Mar 22, 2010 at 6:00 AM, Igor Vaynberg <igor.vaynb...@gmail.com>
> wrote:
> > dont think that will work. it will work for rendering, but for
> > processing components it wont work because they really need to be
> > descendants of the form.
> >
> > -igor
> >
> > On Sun, Mar 21, 2010 at 7:08 PM, Jeremy Thomerson
> > <jer...@wickettraining.com> wrote:
> >> Sorry, override isTransparentResolver.  The set method is only on
> Border.
> >>
> >> --
> >> Jeremy Thomerson
> >> http://www.wickettraining.com
> >>
> >>
> >>
> >> On Sun, Mar 21, 2010 at 8:00 PM, Steve Mactaggart <
> >> steve.mactagg...@gmail.com> wrote:
> >>
> >>> Excellent,
> >>>
> >>> My simple test now seems to work if I do a getForm().
> >>> Although I really like the thought of setTransparentResolver(), but as
> >>> with  Josh, I can't find it in 1.4.7..
> >>>
> >>> I also have this problem with a Border object, I'll have to look into
> >>> seeing if I can  get around the same problem by doing a getBorder().
> >>>
> >>> Steve
> >>>
> >>> On Mon, Mar 22, 2010 at 11:40 AM, Jeremy Thomerson
> >>> <jer...@wickettraining.com> wrote:
> >>> > you need to be adding the components to the form.  you're currently
> >>> adding
> >>> > them to the page itself.  the component hierarchy is thus broken.  on
> >>> your
> >>> > child page, either do getForm().add(foo) [you'll need to expose a
> getForm
> >>> > method that returns the form from the parent page] or else on your
> parent
> >>> > page (BaseEditPage), setTransparentResolver(true) on the form and add
> the
> >>> > form children to the page then.
> >>> >
> >>> > --
> >>> > Jeremy Thomerson
> >>> > http://www.wickettraining.com
> >>> >
> >>> >
> >>> >
> >>> > On Sun, Mar 21, 2010 at 7:35 PM, Steve Mactaggart <
> >>> st...@whitesquaresoft.com
> >>> >> wrote:
> >>> >
> >>> >> Hi all,
> >>> >>
> >>> >> Before I go to far trying to prove I have a bug, I thought i'd crowd
> >>> >> source an answer.
> >>> >>
> >>> >> We have a lot of "Edit" pages that have a lot of simmilar structure,
> >>> >> and what I wanted to do is create a BaseEditPage that contains the
> >>> >> form, the save/cancel buttons, some layout stuff and a
> FeedbackPanel,
> >>> >> then extend it into UserEditPage that just adds the fields that are
> >>> >> editable.
> >>> >>
> >>> >> I can get this working as long as I put all the HTML into the
> >>> >> UserEditPage.html file.
> >>> >>
> >>> >> Lets make this simple.  Lets say that BaseEditPage extends
> >>> >> StandardPage, where StandardPage provides a standard header, footer
> >>> >> and so all we have to worry about in the BaseEditPage is the
> "content"
> >>> >> of the page.
> >>> >>
> >>> >> My BaseEditPage html will look like:
> >>> >>
> >>> >> <wicket:extend>
> >>> >> <form wicket:id="form">
> >>> >>  <div wicket:id="feedback"/>
> >>> >>  <wicket:child/>
> >>> >>
> >>> >>  <input type="button" wicket:id="save"/>
> >>> >>  <input type="button" wicket:id="cancel"/>
> >>> >> </form>
> >>> >> </wicket:extend>
> >>> >>
> >>> >> And the BaseEditPage.java is like:
> >>> >>
> >>> >> public class BaseEditPage extends StandardPage {
> >>> >>
> >>> >> Form form;
> >>> >> SubmitLink saveButton;
> >>> >> SubmitLink cancelButton;
> >>> >> FeedbackPanel feedbackPanel;
> >>> >>
> >>> >> public BaseEditPage() {
> >>> >>   super();
> >>> >>
> >>> >>   form = new Form("form");
> >>> >>
> >>> >>   saveButton = new SubmitLink("save"); //onSubmit excluded to keep
> >>> >> example simple.
> >>> >>   cancelButton = new SubmitLink("cancel");
> >>> >>
> >>> >>   feedbackPanel = new FeedbackPanel("feedback");
> >>> >>
> >>> >>   add(form);
> >>> >>
> >>> >>   form.add(saveButton);
> >>> >>   form.add(cancelButton);
> >>> >>   form.add(feedbackPanel);
> >>> >> }
> >>> >> }
> >>> >>
> >>> >> Now I create my UserEditPage
> >>> >>
> >>> >> public UserEditPage extends BaseEditPage {
> >>> >>
> >>> >> RequiredTextField username;
> >>> >>
> >>> >> public UserEditPage() {
> >>> >>    username = new RequiredTextField<String>("username", new
> >>> >> Model("test-username"));
> >>> >>
> >>> >>    add(username);
> >>> >> }
> >>> >>
> >>> >> }
> >>> >>
> >>> >> And create the HTML for the page like:
> >>> >> <wicket:extend>
> >>> >>  Username: <input type="text" wicket:id="username"/>
> >>> >> </wicket:extend>
> >>> >>
> >>> >>
> >>> >> When I run this simple example I get a messsage stating:
> >>> >>    Unable to find component with id 'username' in [MarkupContainer
> >>> >> [Component id = _extend4]].
> >>> >>
> >>> >> My guess is this is an issue processing the sub class due to the
> fact
> >>> >> that the <form> tag is still open.
> >>> >>
> >>> >> Is there any way to do this, or is this outside the scope of Wicket?
> >>> >>
> >>> >> Cheers,
> >>> >> Steve
> >>> >>
> >>> >>
> ---------------------------------------------------------------------
> >>> >> 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
> >>>
> >>>
> >>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > For additional commands, e-mail: users-h...@wicket.apache.org
> >
> >
>
>
>
> --
> Become a Wicket expert, learn from the best: http://wicketinaction.com
> Apache Wicket 1.4 increases type safety for web applications
> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.4.4
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>

Reply via email to