You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Todd Nine <to...@spidertracks.co.nz> on 2010/06/01 10:37:36 UTC
Can't use form inside fragment
Hi all,
I'm new to Wicket, so if I've done something obviously wrong, please point
it out. I have 2 ways the user could log in to our site. One if via the
full page login form, the other is via quick login in the header. Since
I'll need to gather the same form data in multiple places, I've created a
reusable form object below.
http://pastie.org/private/7v1vnmyb4kefamu8q1tnfw
Now, I'm working on my "SessionPanel". This is the panel at the top right
of my header. If the user is logged in, it shows a logout link. If they're
an anonymous user, it shows the login form. I have this for my panel code.
http://www.pastie.org/private/bw5vvzddtrcruemnobjg
And here is my html
http://www.pastie.org/private/o9gzhxeqfcbu8vpohr1uvw
Whenever I try to render the page, I always receive this error.
Root cause:
org.apache.wicket.markup.MarkupException: Expected close tag for
<wicket:fragment wicket:id="login">
[markup =
file:/Users/toddnine/development/aviator-services/logbook/target/classes/com/spidertracks/aviator/logbook/panel/SessionPanel.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:wicket="http://wicket.sourceforge.net/" xml:lang="en" lang="en">
<body>
<wicket:panel>
<wicket:fragment wicket:id="login">
<form wicket:id="loginForm">
<p>keep me logged in:
<input type="checkbox" wicket:id="rememberMe"/>
</p>
<p> email: <input type="text" wicket:id="email"/>
password: <input type="password" wicket:id="password"/>
<input type="submit" value="Login" />
</p>
</form>
</wicket:fragment>
<wicket:fragment wicket:id="logout">
<p><a href="#" wicket:id="logout">logout</a></p>
</wicket:fragment>
</wicket:panel>
</body>
</html>, index = 5, current = '<form wicket:id="loginForm">' (line 9, column
3)]
at
org.apache.wicket.markup.MarkupStream.throwMarkupException(MarkupStream.java:474)
at
org.apache.wicket.Component.renderClosingComponentTag(Component.java:4318)
at org.apache.wicket.Component.renderComponent(Component.java:2627)
at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1512)
at org.apache.wicket.Component.render(Component.java:2450)
at
org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1414)
at
org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1577)
at
org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:675)
at
org.apache.wicket.markup.html.panel.Panel.onComponentTagBody(Panel.java:114)
at org.apache.wicket.Component.renderComponent(Component.java:2619)
My XHtml seems well formed, what am I doing wrong?
Thanks,
Todd
Re: Can't use form inside fragment
Posted by Todd Nine <to...@spidertracks.co.nz>.
Man, I changed way too much code far too late last night. I missed
assigning my model as the form in my test fields.
TextField<String> userIdField = new TextField<String>("email", new
PropertyModel<String>(this, "email"));
On 2 June 2010 06:33, Igor Vaynberg <ig...@gmail.com> wrote:
> headerPanel:session:session:loginForm:email
>
> this textfield? has a null model, so wicket cannot push the submitted
> value.
>
> -igor
>
> On Tue, Jun 1, 2010 at 11:04 AM, Todd Nine <to...@spidertracks.co.nz>
> wrote:
> > Ok, I solved the initial problem. I didn't specify a container for the
> > fragment, I missed that in the examples. I changes my template to
> contain
> > this extra div.
> >
> >
> > <div wicket:id="session"></div>
> >
> > Then I specify my panels with
> >
> > if(session.isSignedIn()){
> > add(new LogoutFragment("session", "logout", this));
> > }else{
> > add(new LoginFragment("session", "login", this));
> > }
> >
> > Everything is rendering, but if I try to submit my form, I receive this
> > error
> >
> > WicketMessage: Method onFormSubmitted of interface
> > org.apache.wicket.markup.html.form.IFormSubmitListener targeted at
> component
> > [MarkupContainer [Component id = loginForm]] threw an exception
> >
> > Root cause:
> >
> > java.lang.IllegalStateException: Attempt to set model object on null
> model
> > of component: headerPanel:session:session:loginForm:email
> > at
> > org.apache.wicket.Component.setDefaultModelObject(Component.java:3033)
> > at
> >
> org.apache.wicket.markup.html.form.FormComponent.updateModel(FormComponent.java:1168)
> > at
> >
> org.apache.wicket.markup.html.form.Form$FormModelUpdateVisitor.component(Form.java:227)
> > at
> >
> org.apache.wicket.markup.html.form.FormComponent.visitComponentsPostOrderHelper(FormComponent.java:514)
> > at
> >
> org.apache.wicket.markup.html.form.FormComponent.visitComponentsPostOrderHelper(FormComponent.java:493)
> > at
> >
> org.apache.wicket.markup.html.form.FormComponent.visitComponentsPostOrder(FormComponent.java:465)
> > at
> >
> org.apache.wicket.markup.html.form.Form.internalUpdateFormComponentModels(Form.java:2081)
> > at
> >
> org.apache.wicket.markup.html.form.Form.updateFormComponentModels(Form.java:2049)
> > at org.apache.wicket.markup.html.form.Form.process(Form.java:1004)
> > at org.apache.wicket.markup.html.form.Form.process(Form.java:931)
> > at
> > org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:896)
> >
> > If I have my form in it's own panel it seems to work. I've changed it's
> > paret class to to be the following
> >
> > public class LoginForm extends Form<LoginForm>
> >
> > Any ideas?
> >
> > Thanks,
> > Todd
> >
> >
> >
> > On 2 June 2010 05:15, Todd Nine <to...@spidertracks.co.nz> wrote:
> >
> >> Sorry, forgot that. 1.4.9
> >>
> >>
> >> On 2 June 2010 03:03, Jeremy Thomerson <je...@wickettraining.com>
> wrote:
> >>
> >>> what version of wicket?
> >>>
> >>> On Tue, Jun 1, 2010 at 3:37 AM, Todd Nine <to...@spidertracks.co.nz>
> >>> wrote:
> >>>
> >>> > Hi all,
> >>> > I'm new to Wicket, so if I've done something obviously wrong, please
> >>> point
> >>> > it out. I have 2 ways the user could log in to our site. One if via
> >>> the
> >>> > full page login form, the other is via quick login in the header.
> >>> Since
> >>> > I'll need to gather the same form data in multiple places, I've
> created
> >>> a
> >>> > reusable form object below.
> >>> >
> >>> > http://pastie.org/private/7v1vnmyb4kefamu8q1tnfw
> >>> >
> >>> > Now, I'm working on my "SessionPanel". This is the panel at the top
> >>> right
> >>> > of my header. If the user is logged in, it shows a logout link. If
> >>> > they're
> >>> > an anonymous user, it shows the login form. I have this for my panel
> >>> code.
> >>> >
> >>> > http://www.pastie.org/private/bw5vvzddtrcruemnobjg
> >>> >
> >>> > And here is my html
> >>> >
> >>> > http://www.pastie.org/private/o9gzhxeqfcbu8vpohr1uvw
> >>> >
> >>> > Whenever I try to render the page, I always receive this error.
> >>> >
> >>> >
> >>> > Root cause:
> >>> >
> >>> > org.apache.wicket.markup.MarkupException: Expected close tag for
> >>> > <wicket:fragment wicket:id="login">
> >>> > [markup =
> >>> >
> >>> >
> >>>
> file:/Users/toddnine/development/aviator-services/logbook/target/classes/com/spidertracks/aviator/logbook/panel/SessionPanel.html
> >>> > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> >>> > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> >>> >
> >>> > <html xmlns="http://www.w3.org/1999/xhtml"
> >>> > xmlns:wicket="http://wicket.sourceforge.net/" xml:lang="en"
> lang="en">
> >>> > <body>
> >>> > <wicket:panel>
> >>> > <wicket:fragment wicket:id="login">
> >>> > <form wicket:id="loginForm">
> >>> > <p>keep me logged in:
> >>> > <input type="checkbox" wicket:id="rememberMe"/>
> >>> > </p>
> >>> > <p> email: <input type="text" wicket:id="email"/>
> >>> > password: <input type="password" wicket:id="password"/>
> >>> > <input type="submit" value="Login" />
> >>> > </p>
> >>> > </form>
> >>> > </wicket:fragment>
> >>> >
> >>> >
> >>> > <wicket:fragment wicket:id="logout">
> >>> > <p><a href="#" wicket:id="logout">logout</a></p>
> >>> > </wicket:fragment>
> >>> > </wicket:panel>
> >>> > </body>
> >>> > </html>, index = 5, current = '<form wicket:id="loginForm">' (line 9,
> >>> > column
> >>> > 3)]
> >>> > at
> >>> >
> >>> >
> >>>
> org.apache.wicket.markup.MarkupStream.throwMarkupException(MarkupStream.java:474)
> >>> > at
> >>> >
> >>>
> org.apache.wicket.Component.renderClosingComponentTag(Component.java:4318)
> >>> > at
> org.apache.wicket.Component.renderComponent(Component.java:2627)
> >>> > at
> >>> org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1512)
> >>> > at org.apache.wicket.Component.render(Component.java:2450)
> >>> > at
> >>> >
> org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1414)
> >>> > at
> >>> >
> >>> >
> >>>
> org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1577)
> >>> > at
> >>> >
> >>> >
> >>>
> org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:675)
> >>> > at
> >>> >
> >>> >
> >>>
> org.apache.wicket.markup.html.panel.Panel.onComponentTagBody(Panel.java:114)
> >>> > at
> org.apache.wicket.Component.renderComponent(Component.java:2619)
> >>> >
> >>> > My XHtml seems well formed, what am I doing wrong?
> >>> >
> >>> > Thanks,
> >>> > Todd
> >>> >
> >>>
> >>>
> >>>
> >>> --
> >>> Jeremy Thomerson
> >>> http://www.wickettraining.com
> >>>
> >>
> >>
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>
Re: Can't use form inside fragment
Posted by Igor Vaynberg <ig...@gmail.com>.
headerPanel:session:session:loginForm:email
this textfield? has a null model, so wicket cannot push the submitted value.
-igor
On Tue, Jun 1, 2010 at 11:04 AM, Todd Nine <to...@spidertracks.co.nz> wrote:
> Ok, I solved the initial problem. I didn't specify a container for the
> fragment, I missed that in the examples. I changes my template to contain
> this extra div.
>
>
> <div wicket:id="session"></div>
>
> Then I specify my panels with
>
> if(session.isSignedIn()){
> add(new LogoutFragment("session", "logout", this));
> }else{
> add(new LoginFragment("session", "login", this));
> }
>
> Everything is rendering, but if I try to submit my form, I receive this
> error
>
> WicketMessage: Method onFormSubmitted of interface
> org.apache.wicket.markup.html.form.IFormSubmitListener targeted at component
> [MarkupContainer [Component id = loginForm]] threw an exception
>
> Root cause:
>
> java.lang.IllegalStateException: Attempt to set model object on null model
> of component: headerPanel:session:session:loginForm:email
> at
> org.apache.wicket.Component.setDefaultModelObject(Component.java:3033)
> at
> org.apache.wicket.markup.html.form.FormComponent.updateModel(FormComponent.java:1168)
> at
> org.apache.wicket.markup.html.form.Form$FormModelUpdateVisitor.component(Form.java:227)
> at
> org.apache.wicket.markup.html.form.FormComponent.visitComponentsPostOrderHelper(FormComponent.java:514)
> at
> org.apache.wicket.markup.html.form.FormComponent.visitComponentsPostOrderHelper(FormComponent.java:493)
> at
> org.apache.wicket.markup.html.form.FormComponent.visitComponentsPostOrder(FormComponent.java:465)
> at
> org.apache.wicket.markup.html.form.Form.internalUpdateFormComponentModels(Form.java:2081)
> at
> org.apache.wicket.markup.html.form.Form.updateFormComponentModels(Form.java:2049)
> at org.apache.wicket.markup.html.form.Form.process(Form.java:1004)
> at org.apache.wicket.markup.html.form.Form.process(Form.java:931)
> at
> org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:896)
>
> If I have my form in it's own panel it seems to work. I've changed it's
> paret class to to be the following
>
> public class LoginForm extends Form<LoginForm>
>
> Any ideas?
>
> Thanks,
> Todd
>
>
>
> On 2 June 2010 05:15, Todd Nine <to...@spidertracks.co.nz> wrote:
>
>> Sorry, forgot that. 1.4.9
>>
>>
>> On 2 June 2010 03:03, Jeremy Thomerson <je...@wickettraining.com> wrote:
>>
>>> what version of wicket?
>>>
>>> On Tue, Jun 1, 2010 at 3:37 AM, Todd Nine <to...@spidertracks.co.nz>
>>> wrote:
>>>
>>> > Hi all,
>>> > I'm new to Wicket, so if I've done something obviously wrong, please
>>> point
>>> > it out. I have 2 ways the user could log in to our site. One if via
>>> the
>>> > full page login form, the other is via quick login in the header.
>>> Since
>>> > I'll need to gather the same form data in multiple places, I've created
>>> a
>>> > reusable form object below.
>>> >
>>> > http://pastie.org/private/7v1vnmyb4kefamu8q1tnfw
>>> >
>>> > Now, I'm working on my "SessionPanel". This is the panel at the top
>>> right
>>> > of my header. If the user is logged in, it shows a logout link. If
>>> > they're
>>> > an anonymous user, it shows the login form. I have this for my panel
>>> code.
>>> >
>>> > http://www.pastie.org/private/bw5vvzddtrcruemnobjg
>>> >
>>> > And here is my html
>>> >
>>> > http://www.pastie.org/private/o9gzhxeqfcbu8vpohr1uvw
>>> >
>>> > Whenever I try to render the page, I always receive this error.
>>> >
>>> >
>>> > Root cause:
>>> >
>>> > org.apache.wicket.markup.MarkupException: Expected close tag for
>>> > <wicket:fragment wicket:id="login">
>>> > [markup =
>>> >
>>> >
>>> file:/Users/toddnine/development/aviator-services/logbook/target/classes/com/spidertracks/aviator/logbook/panel/SessionPanel.html
>>> > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
>>> > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
>>> >
>>> > <html xmlns="http://www.w3.org/1999/xhtml"
>>> > xmlns:wicket="http://wicket.sourceforge.net/" xml:lang="en" lang="en">
>>> > <body>
>>> > <wicket:panel>
>>> > <wicket:fragment wicket:id="login">
>>> > <form wicket:id="loginForm">
>>> > <p>keep me logged in:
>>> > <input type="checkbox" wicket:id="rememberMe"/>
>>> > </p>
>>> > <p> email: <input type="text" wicket:id="email"/>
>>> > password: <input type="password" wicket:id="password"/>
>>> > <input type="submit" value="Login" />
>>> > </p>
>>> > </form>
>>> > </wicket:fragment>
>>> >
>>> >
>>> > <wicket:fragment wicket:id="logout">
>>> > <p><a href="#" wicket:id="logout">logout</a></p>
>>> > </wicket:fragment>
>>> > </wicket:panel>
>>> > </body>
>>> > </html>, index = 5, current = '<form wicket:id="loginForm">' (line 9,
>>> > column
>>> > 3)]
>>> > at
>>> >
>>> >
>>> org.apache.wicket.markup.MarkupStream.throwMarkupException(MarkupStream.java:474)
>>> > at
>>> >
>>> org.apache.wicket.Component.renderClosingComponentTag(Component.java:4318)
>>> > at org.apache.wicket.Component.renderComponent(Component.java:2627)
>>> > at
>>> org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1512)
>>> > at org.apache.wicket.Component.render(Component.java:2450)
>>> > at
>>> > org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1414)
>>> > at
>>> >
>>> >
>>> org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1577)
>>> > at
>>> >
>>> >
>>> org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:675)
>>> > at
>>> >
>>> >
>>> org.apache.wicket.markup.html.panel.Panel.onComponentTagBody(Panel.java:114)
>>> > at org.apache.wicket.Component.renderComponent(Component.java:2619)
>>> >
>>> > My XHtml seems well formed, what am I doing wrong?
>>> >
>>> > Thanks,
>>> > Todd
>>> >
>>>
>>>
>>>
>>> --
>>> Jeremy Thomerson
>>> http://www.wickettraining.com
>>>
>>
>>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org
Re: Can't use form inside fragment
Posted by Todd Nine <to...@spidertracks.co.nz>.
Ok, I solved the initial problem. I didn't specify a container for the
fragment, I missed that in the examples. I changes my template to contain
this extra div.
<div wicket:id="session"></div>
Then I specify my panels with
if(session.isSignedIn()){
add(new LogoutFragment("session", "logout", this));
}else{
add(new LoginFragment("session", "login", this));
}
Everything is rendering, but if I try to submit my form, I receive this
error
WicketMessage: Method onFormSubmitted of interface
org.apache.wicket.markup.html.form.IFormSubmitListener targeted at component
[MarkupContainer [Component id = loginForm]] threw an exception
Root cause:
java.lang.IllegalStateException: Attempt to set model object on null model
of component: headerPanel:session:session:loginForm:email
at
org.apache.wicket.Component.setDefaultModelObject(Component.java:3033)
at
org.apache.wicket.markup.html.form.FormComponent.updateModel(FormComponent.java:1168)
at
org.apache.wicket.markup.html.form.Form$FormModelUpdateVisitor.component(Form.java:227)
at
org.apache.wicket.markup.html.form.FormComponent.visitComponentsPostOrderHelper(FormComponent.java:514)
at
org.apache.wicket.markup.html.form.FormComponent.visitComponentsPostOrderHelper(FormComponent.java:493)
at
org.apache.wicket.markup.html.form.FormComponent.visitComponentsPostOrder(FormComponent.java:465)
at
org.apache.wicket.markup.html.form.Form.internalUpdateFormComponentModels(Form.java:2081)
at
org.apache.wicket.markup.html.form.Form.updateFormComponentModels(Form.java:2049)
at org.apache.wicket.markup.html.form.Form.process(Form.java:1004)
at org.apache.wicket.markup.html.form.Form.process(Form.java:931)
at
org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:896)
If I have my form in it's own panel it seems to work. I've changed it's
paret class to to be the following
public class LoginForm extends Form<LoginForm>
Any ideas?
Thanks,
Todd
On 2 June 2010 05:15, Todd Nine <to...@spidertracks.co.nz> wrote:
> Sorry, forgot that. 1.4.9
>
>
> On 2 June 2010 03:03, Jeremy Thomerson <je...@wickettraining.com> wrote:
>
>> what version of wicket?
>>
>> On Tue, Jun 1, 2010 at 3:37 AM, Todd Nine <to...@spidertracks.co.nz>
>> wrote:
>>
>> > Hi all,
>> > I'm new to Wicket, so if I've done something obviously wrong, please
>> point
>> > it out. I have 2 ways the user could log in to our site. One if via
>> the
>> > full page login form, the other is via quick login in the header.
>> Since
>> > I'll need to gather the same form data in multiple places, I've created
>> a
>> > reusable form object below.
>> >
>> > http://pastie.org/private/7v1vnmyb4kefamu8q1tnfw
>> >
>> > Now, I'm working on my "SessionPanel". This is the panel at the top
>> right
>> > of my header. If the user is logged in, it shows a logout link. If
>> > they're
>> > an anonymous user, it shows the login form. I have this for my panel
>> code.
>> >
>> > http://www.pastie.org/private/bw5vvzddtrcruemnobjg
>> >
>> > And here is my html
>> >
>> > http://www.pastie.org/private/o9gzhxeqfcbu8vpohr1uvw
>> >
>> > Whenever I try to render the page, I always receive this error.
>> >
>> >
>> > Root cause:
>> >
>> > org.apache.wicket.markup.MarkupException: Expected close tag for
>> > <wicket:fragment wicket:id="login">
>> > [markup =
>> >
>> >
>> file:/Users/toddnine/development/aviator-services/logbook/target/classes/com/spidertracks/aviator/logbook/panel/SessionPanel.html
>> > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
>> > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
>> >
>> > <html xmlns="http://www.w3.org/1999/xhtml"
>> > xmlns:wicket="http://wicket.sourceforge.net/" xml:lang="en" lang="en">
>> > <body>
>> > <wicket:panel>
>> > <wicket:fragment wicket:id="login">
>> > <form wicket:id="loginForm">
>> > <p>keep me logged in:
>> > <input type="checkbox" wicket:id="rememberMe"/>
>> > </p>
>> > <p> email: <input type="text" wicket:id="email"/>
>> > password: <input type="password" wicket:id="password"/>
>> > <input type="submit" value="Login" />
>> > </p>
>> > </form>
>> > </wicket:fragment>
>> >
>> >
>> > <wicket:fragment wicket:id="logout">
>> > <p><a href="#" wicket:id="logout">logout</a></p>
>> > </wicket:fragment>
>> > </wicket:panel>
>> > </body>
>> > </html>, index = 5, current = '<form wicket:id="loginForm">' (line 9,
>> > column
>> > 3)]
>> > at
>> >
>> >
>> org.apache.wicket.markup.MarkupStream.throwMarkupException(MarkupStream.java:474)
>> > at
>> >
>> org.apache.wicket.Component.renderClosingComponentTag(Component.java:4318)
>> > at org.apache.wicket.Component.renderComponent(Component.java:2627)
>> > at
>> org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1512)
>> > at org.apache.wicket.Component.render(Component.java:2450)
>> > at
>> > org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1414)
>> > at
>> >
>> >
>> org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1577)
>> > at
>> >
>> >
>> org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:675)
>> > at
>> >
>> >
>> org.apache.wicket.markup.html.panel.Panel.onComponentTagBody(Panel.java:114)
>> > at org.apache.wicket.Component.renderComponent(Component.java:2619)
>> >
>> > My XHtml seems well formed, what am I doing wrong?
>> >
>> > Thanks,
>> > Todd
>> >
>>
>>
>>
>> --
>> Jeremy Thomerson
>> http://www.wickettraining.com
>>
>
>
Re: Can't use form inside fragment
Posted by Todd Nine <to...@spidertracks.co.nz>.
Sorry, forgot that. 1.4.9
On 2 June 2010 03:03, Jeremy Thomerson <je...@wickettraining.com> wrote:
> what version of wicket?
>
> On Tue, Jun 1, 2010 at 3:37 AM, Todd Nine <to...@spidertracks.co.nz> wrote:
>
> > Hi all,
> > I'm new to Wicket, so if I've done something obviously wrong, please
> point
> > it out. I have 2 ways the user could log in to our site. One if via the
> > full page login form, the other is via quick login in the header. Since
> > I'll need to gather the same form data in multiple places, I've created a
> > reusable form object below.
> >
> > http://pastie.org/private/7v1vnmyb4kefamu8q1tnfw
> >
> > Now, I'm working on my "SessionPanel". This is the panel at the top
> right
> > of my header. If the user is logged in, it shows a logout link. If
> > they're
> > an anonymous user, it shows the login form. I have this for my panel
> code.
> >
> > http://www.pastie.org/private/bw5vvzddtrcruemnobjg
> >
> > And here is my html
> >
> > http://www.pastie.org/private/o9gzhxeqfcbu8vpohr1uvw
> >
> > Whenever I try to render the page, I always receive this error.
> >
> >
> > Root cause:
> >
> > org.apache.wicket.markup.MarkupException: Expected close tag for
> > <wicket:fragment wicket:id="login">
> > [markup =
> >
> >
> file:/Users/toddnine/development/aviator-services/logbook/target/classes/com/spidertracks/aviator/logbook/panel/SessionPanel.html
> > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> >
> > <html xmlns="http://www.w3.org/1999/xhtml"
> > xmlns:wicket="http://wicket.sourceforge.net/" xml:lang="en" lang="en">
> > <body>
> > <wicket:panel>
> > <wicket:fragment wicket:id="login">
> > <form wicket:id="loginForm">
> > <p>keep me logged in:
> > <input type="checkbox" wicket:id="rememberMe"/>
> > </p>
> > <p> email: <input type="text" wicket:id="email"/>
> > password: <input type="password" wicket:id="password"/>
> > <input type="submit" value="Login" />
> > </p>
> > </form>
> > </wicket:fragment>
> >
> >
> > <wicket:fragment wicket:id="logout">
> > <p><a href="#" wicket:id="logout">logout</a></p>
> > </wicket:fragment>
> > </wicket:panel>
> > </body>
> > </html>, index = 5, current = '<form wicket:id="loginForm">' (line 9,
> > column
> > 3)]
> > at
> >
> >
> org.apache.wicket.markup.MarkupStream.throwMarkupException(MarkupStream.java:474)
> > at
> >
> org.apache.wicket.Component.renderClosingComponentTag(Component.java:4318)
> > at org.apache.wicket.Component.renderComponent(Component.java:2627)
> > at
> org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1512)
> > at org.apache.wicket.Component.render(Component.java:2450)
> > at
> > org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1414)
> > at
> >
> >
> org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1577)
> > at
> >
> >
> org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:675)
> > at
> >
> >
> org.apache.wicket.markup.html.panel.Panel.onComponentTagBody(Panel.java:114)
> > at org.apache.wicket.Component.renderComponent(Component.java:2619)
> >
> > My XHtml seems well formed, what am I doing wrong?
> >
> > Thanks,
> > Todd
> >
>
>
>
> --
> Jeremy Thomerson
> http://www.wickettraining.com
>
Re: Can't use form inside fragment
Posted by Jeremy Thomerson <je...@wickettraining.com>.
what version of wicket?
On Tue, Jun 1, 2010 at 3:37 AM, Todd Nine <to...@spidertracks.co.nz> wrote:
> Hi all,
> I'm new to Wicket, so if I've done something obviously wrong, please point
> it out. I have 2 ways the user could log in to our site. One if via the
> full page login form, the other is via quick login in the header. Since
> I'll need to gather the same form data in multiple places, I've created a
> reusable form object below.
>
> http://pastie.org/private/7v1vnmyb4kefamu8q1tnfw
>
> Now, I'm working on my "SessionPanel". This is the panel at the top right
> of my header. If the user is logged in, it shows a logout link. If
> they're
> an anonymous user, it shows the login form. I have this for my panel code.
>
> http://www.pastie.org/private/bw5vvzddtrcruemnobjg
>
> And here is my html
>
> http://www.pastie.org/private/o9gzhxeqfcbu8vpohr1uvw
>
> Whenever I try to render the page, I always receive this error.
>
>
> Root cause:
>
> org.apache.wicket.markup.MarkupException: Expected close tag for
> <wicket:fragment wicket:id="login">
> [markup =
>
> file:/Users/toddnine/development/aviator-services/logbook/target/classes/com/spidertracks/aviator/logbook/panel/SessionPanel.html
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
>
> <html xmlns="http://www.w3.org/1999/xhtml"
> xmlns:wicket="http://wicket.sourceforge.net/" xml:lang="en" lang="en">
> <body>
> <wicket:panel>
> <wicket:fragment wicket:id="login">
> <form wicket:id="loginForm">
> <p>keep me logged in:
> <input type="checkbox" wicket:id="rememberMe"/>
> </p>
> <p> email: <input type="text" wicket:id="email"/>
> password: <input type="password" wicket:id="password"/>
> <input type="submit" value="Login" />
> </p>
> </form>
> </wicket:fragment>
>
>
> <wicket:fragment wicket:id="logout">
> <p><a href="#" wicket:id="logout">logout</a></p>
> </wicket:fragment>
> </wicket:panel>
> </body>
> </html>, index = 5, current = '<form wicket:id="loginForm">' (line 9,
> column
> 3)]
> at
>
> org.apache.wicket.markup.MarkupStream.throwMarkupException(MarkupStream.java:474)
> at
> org.apache.wicket.Component.renderClosingComponentTag(Component.java:4318)
> at org.apache.wicket.Component.renderComponent(Component.java:2627)
> at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1512)
> at org.apache.wicket.Component.render(Component.java:2450)
> at
> org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1414)
> at
>
> org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1577)
> at
>
> org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:675)
> at
>
> org.apache.wicket.markup.html.panel.Panel.onComponentTagBody(Panel.java:114)
> at org.apache.wicket.Component.renderComponent(Component.java:2619)
>
> My XHtml seems well formed, what am I doing wrong?
>
> Thanks,
> Todd
>
--
Jeremy Thomerson
http://www.wickettraining.com