You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Arthur Leigh Allen <ar...@yahoo.de> on 2009/02/06 12:32:22 UTC

AutoCompleteTextField buggy?


Hi there
 
I read that some people here got the same exception like me, but I couldn't find an answer.
 
Do the following:
-use an AutoCompleteTextField
-override the method getChoices(String input)
-do a time-consuming database call to retrieve the choices
-return the choices
 
everything works fine... but do the following steps VERY FAST
-click at the AutoCompleteTextField to enter something
-press "m" and immediately "enter" to submit the form
 
this will submit the form BEFORE the getChoices method returns the choices.
the form is submitted and then the AutoCompleteTextField is removed from the page because the panel (including the text field) is removed and a different panel is displayed via ajax.
then the getChoices(...) method returns the choices and the following exception occurs:
 
org.apache.wicket.WicketRuntimeException: component content:form:nameField:textField not found on page test.MyPage[id = 0], listener interface = [RequestListenerInterface name=IActivePageBehaviorListener, method=public abstract void org.apache.wicket.behavior.IBehaviorListener.onRequest()]
 at test.TestApplication.access$0(TestApplication.java:145)
 at test.TestApplication$1.onRuntimeException(TestApplication.java:117)
 at org.apache.wicket.request.AbstractRequestCycleProcessor.onRuntimeException(AbstractRequestCycleProcessor.java:217)
 at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:119)
 at org.apache.wicket.RequestCycle.step(RequestCycle.java:1302)
 at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1353)
 at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
 at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:355)
 at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:124)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 at org..apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
 at org.apache.tomcat.util..net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
 at java.lang.Thread.run(Thread.java:619)
 
When the getChoices method returns "null" or when I press "m" and then "enter" after ca. 3 seconds, everything works fine without an exception.

I already saw that example: http://www.wicket-library.com/wicket-examples/ajax/autocomplete.1
 
There the exception doesn't occur but I think it's maybe because
-setResponsePage is used and not ajax or
-the getChoices method returns the values in time
 
Would appreciate any help
 
Best regards,
Leigh



      

AW: AutoCompleteTextField buggy?

Posted by Arthur Leigh Allen <ar...@yahoo.de>.
Hello people, any more ideas?

Again: It's only happening if I immediately submit the form after entering one letter in the AutoCompleteTextField (condition: overridden method getChoices must return at least one entry).

The exception is thrown in AbstractRequestCycleProcessor in line 416 (Wicket 1.3.5).
The class tries to retrieve the component by the relative component path and the component is null.
Therefore an exception is thrown.

I have a second problem (maybe the same cause) with auto complete text fields.
If I enter one letter, wait about 0,25 seconds and submit the form, then
-the panel containing the auto complete text field will be removed from the view
-the new panel is shown via ajax
-the div (containing the choices) of the auto complete text field appears without the text field in the new panel.

Would appreciate any answers.

Thanks in advance, Leigh




 



________________________________
Von: Phil Grimm <ph...@gmail.com>
An: users@wicket.apache.org
Gesendet: Montag, den 9. Februar 2009, 04:27:35 Uhr
Betreff: Re: AutoCompleteTextField buggy?

I tried it in my app (running 1.4-rc1) and was not able to reproduce this.
Phil

On Sat, Feb 7, 2009 at 1:05 PM, Arthur Leigh Allen <
arthurleigh.allen@yahoo.de> wrote:

> hi igor, it's 1..3.5
>
>
>
>
> ________________________________
> Von: Igor Vaynberg <ig...@gmail.com>
> An: users@wicket.apache.org
> Gesendet: Samstag, den 7. Februar 2009, 00:44:28 Uhr
> Betreff: Re: AutoCompleteTextField buggy?
>
> what wicket version are you using?
>
> -igor
>
> On Fri, Feb 6, 2009 at 3:32 AM, Arthur Leigh Allen
> <ar...@yahoo.de> wrote:
> >
> >
> > Hi there
> >
> > I read that some people here got the same exception like me, but I
> couldn't find an answer.
> >
> > Do the following:
> > -use an AutoCompleteTextField
> > -override the method getChoices(String input)
> > -do a time-consuming database call to retrieve the choices
> > -return the choices
> >
> > everything works fine... but do the following steps VERY FAST
> > -click at the AutoCompleteTextField to enter something
> > -press "m" and immediately "enter" to submit the form
> >
> > this will submit the form BEFORE the getChoices method returns the
> choices..
> > the form is submitted and then the AutoCompleteTextField is removed from
> the page because the panel (including the text field) is removed and a
> different panel is displayed via ajax.
> > then the getChoices(...) method returns the choices and the following
> exception occurs:
> >
> > org.apache..wicket.WicketRuntimeException: component
> content:form:nameField:textField not found on page test.MyPage[id = 0],
> listener interface = [RequestListenerInterface
> name=IActivePageBehaviorListener, method=public abstract void
> org.apache.wicket.behavior.IBehaviorListener.onRequest()]
> >  at test.TestApplication.access$0(TestApplication.java:145)
> >  at test.TestApplication$1.onRuntimeException(TestApplication.java:117)
> >  at
> org.apache.wicket.request.AbstractRequestCycleProcessor.onRuntimeException(AbstractRequestCycleProcessor.java:217)
> >  at
> org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:119)
> >  at org.apache.wicket.RequestCycle.step(RequestCycle.java:1302)
> >  at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1353)
> >  at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
> >  at
> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:355)
> >  at
> org.apache.wicket.protocol.http.WicketServlet..doGet(WicketServlet.java:124)
> >  at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> >  at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> >  at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> >  at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> >  at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> >  at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> >  at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> >  at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> >  at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> >  at
> org..apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
> >  at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> >  at
> org.apache.coyote..http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
> >  at
> org.apache.tomcat.util..net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> >  at java.lang.Thread.run(Thread.java:619)
> >
> > When the getChoices method returns "null" or when I press "m" and then
> "enter" after ca. 3 seconds, everything works fine without an exception.
> >
> > I already saw that example:
> http://www.wicket-library.com/wicket-examples/ajax/autocomplete.1
> >
> > There the exception doesn't occur but I think it's maybe because
> > -setResponsePage is used and not ajax or
> > -the getChoices method returns the values in time
> >
> > Would appreciate any help
> >
> > Best regards,
> > Leigh
> >
> >
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket..apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>
>
>



-- 
Phil Grimm
Mobile: (858) 335-3426
Skype: philgrimm336



      

Re: AutoCompleteTextField buggy?

Posted by Phil Grimm <ph...@gmail.com>.
I tried it in my app (running 1.4-rc1) and was not able to reproduce this.
Phil

On Sat, Feb 7, 2009 at 1:05 PM, Arthur Leigh Allen <
arthurleigh.allen@yahoo.de> wrote:

> hi igor, it's 1.3.5
>
>
>
>
> ________________________________
> Von: Igor Vaynberg <ig...@gmail.com>
> An: users@wicket.apache.org
> Gesendet: Samstag, den 7. Februar 2009, 00:44:28 Uhr
> Betreff: Re: AutoCompleteTextField buggy?
>
> what wicket version are you using?
>
> -igor
>
> On Fri, Feb 6, 2009 at 3:32 AM, Arthur Leigh Allen
> <ar...@yahoo.de> wrote:
> >
> >
> > Hi there
> >
> > I read that some people here got the same exception like me, but I
> couldn't find an answer.
> >
> > Do the following:
> > -use an AutoCompleteTextField
> > -override the method getChoices(String input)
> > -do a time-consuming database call to retrieve the choices
> > -return the choices
> >
> > everything works fine... but do the following steps VERY FAST
> > -click at the AutoCompleteTextField to enter something
> > -press "m" and immediately "enter" to submit the form
> >
> > this will submit the form BEFORE the getChoices method returns the
> choices..
> > the form is submitted and then the AutoCompleteTextField is removed from
> the page because the panel (including the text field) is removed and a
> different panel is displayed via ajax.
> > then the getChoices(...) method returns the choices and the following
> exception occurs:
> >
> > org.apache.wicket.WicketRuntimeException: component
> content:form:nameField:textField not found on page test.MyPage[id = 0],
> listener interface = [RequestListenerInterface
> name=IActivePageBehaviorListener, method=public abstract void
> org.apache.wicket.behavior.IBehaviorListener.onRequest()]
> >  at test.TestApplication.access$0(TestApplication.java:145)
> >  at test.TestApplication$1.onRuntimeException(TestApplication.java:117)
> >  at
> org.apache.wicket.request.AbstractRequestCycleProcessor.onRuntimeException(AbstractRequestCycleProcessor.java:217)
> >  at
> org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:119)
> >  at org.apache.wicket.RequestCycle.step(RequestCycle.java:1302)
> >  at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1353)
> >  at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
> >  at
> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:355)
> >  at
> org.apache.wicket.protocol.http.WicketServlet..doGet(WicketServlet.java:124)
> >  at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> >  at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> >  at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> >  at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> >  at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> >  at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> >  at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> >  at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> >  at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> >  at
> org..apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
> >  at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> >  at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
> >  at
> org.apache.tomcat.util..net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> >  at java.lang.Thread.run(Thread.java:619)
> >
> > When the getChoices method returns "null" or when I press "m" and then
> "enter" after ca. 3 seconds, everything works fine without an exception.
> >
> > I already saw that example:
> http://www.wicket-library.com/wicket-examples/ajax/autocomplete.1
> >
> > There the exception doesn't occur but I think it's maybe because
> > -setResponsePage is used and not ajax or
> > -the getChoices method returns the values in time
> >
> > Would appreciate any help
> >
> > Best regards,
> > Leigh
> >
> >
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>
>
>



-- 
Phil Grimm
Mobile: (858) 335-3426
Skype: philgrimm336

AW: AutoCompleteTextField buggy?

Posted by Arthur Leigh Allen <ar...@yahoo.de>.
hi igor, it's 1.3.5




________________________________
Von: Igor Vaynberg <ig...@gmail.com>
An: users@wicket.apache.org
Gesendet: Samstag, den 7. Februar 2009, 00:44:28 Uhr
Betreff: Re: AutoCompleteTextField buggy?

what wicket version are you using?

-igor

On Fri, Feb 6, 2009 at 3:32 AM, Arthur Leigh Allen
<ar...@yahoo.de> wrote:
>
>
> Hi there
>
> I read that some people here got the same exception like me, but I couldn't find an answer.
>
> Do the following:
> -use an AutoCompleteTextField
> -override the method getChoices(String input)
> -do a time-consuming database call to retrieve the choices
> -return the choices
>
> everything works fine... but do the following steps VERY FAST
> -click at the AutoCompleteTextField to enter something
> -press "m" and immediately "enter" to submit the form
>
> this will submit the form BEFORE the getChoices method returns the choices..
> the form is submitted and then the AutoCompleteTextField is removed from the page because the panel (including the text field) is removed and a different panel is displayed via ajax.
> then the getChoices(...) method returns the choices and the following exception occurs:
>
> org.apache.wicket.WicketRuntimeException: component content:form:nameField:textField not found on page test.MyPage[id = 0], listener interface = [RequestListenerInterface name=IActivePageBehaviorListener, method=public abstract void org.apache.wicket.behavior.IBehaviorListener.onRequest()]
>  at test.TestApplication.access$0(TestApplication.java:145)
>  at test.TestApplication$1.onRuntimeException(TestApplication.java:117)
>  at org.apache.wicket.request.AbstractRequestCycleProcessor.onRuntimeException(AbstractRequestCycleProcessor.java:217)
>  at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:119)
>  at org.apache.wicket.RequestCycle.step(RequestCycle.java:1302)
>  at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1353)
>  at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
>  at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:355)
>  at org.apache.wicket.protocol.http.WicketServlet..doGet(WicketServlet.java:124)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>  at org..apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
>  at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
>  at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>  at org.apache.tomcat.util..net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
>  at java.lang.Thread.run(Thread.java:619)
>
> When the getChoices method returns "null" or when I press "m" and then "enter" after ca. 3 seconds, everything works fine without an exception.
>
> I already saw that example: http://www.wicket-library.com/wicket-examples/ajax/autocomplete.1
>
> There the exception doesn't occur but I think it's maybe because
> -setResponsePage is used and not ajax or
> -the getChoices method returns the values in time
>
> Would appreciate any help
>
> Best regards,
> Leigh
>
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


      

Re: AutoCompleteTextField buggy?

Posted by Igor Vaynberg <ig...@gmail.com>.
what wicket version are you using?

-igor

On Fri, Feb 6, 2009 at 3:32 AM, Arthur Leigh Allen
<ar...@yahoo.de> wrote:
>
>
> Hi there
>
> I read that some people here got the same exception like me, but I couldn't find an answer.
>
> Do the following:
> -use an AutoCompleteTextField
> -override the method getChoices(String input)
> -do a time-consuming database call to retrieve the choices
> -return the choices
>
> everything works fine... but do the following steps VERY FAST
> -click at the AutoCompleteTextField to enter something
> -press "m" and immediately "enter" to submit the form
>
> this will submit the form BEFORE the getChoices method returns the choices.
> the form is submitted and then the AutoCompleteTextField is removed from the page because the panel (including the text field) is removed and a different panel is displayed via ajax.
> then the getChoices(...) method returns the choices and the following exception occurs:
>
> org.apache.wicket.WicketRuntimeException: component content:form:nameField:textField not found on page test.MyPage[id = 0], listener interface = [RequestListenerInterface name=IActivePageBehaviorListener, method=public abstract void org.apache.wicket.behavior.IBehaviorListener.onRequest()]
>  at test.TestApplication.access$0(TestApplication.java:145)
>  at test.TestApplication$1.onRuntimeException(TestApplication.java:117)
>  at org.apache.wicket.request.AbstractRequestCycleProcessor.onRuntimeException(AbstractRequestCycleProcessor.java:217)
>  at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:119)
>  at org.apache.wicket.RequestCycle.step(RequestCycle.java:1302)
>  at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1353)
>  at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
>  at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:355)
>  at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:124)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>  at org..apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
>  at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
>  at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>  at org.apache.tomcat.util..net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
>  at java.lang.Thread.run(Thread.java:619)
>
> When the getChoices method returns "null" or when I press "m" and then "enter" after ca. 3 seconds, everything works fine without an exception.
>
> I already saw that example: http://www.wicket-library.com/wicket-examples/ajax/autocomplete.1
>
> There the exception doesn't occur but I think it's maybe because
> -setResponsePage is used and not ajax or
> -the getChoices method returns the values in time
>
> Would appreciate any help
>
> Best regards,
> Leigh
>
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org