I'm trying to follow the example in the Javadoc for DropDownChoice
which says:

Java:

  List SITES = Arrays.asList(new String[] { "The Server Side", "Java Lobby", 
"Java.Net" });

  // Add a dropdown choice component that uses Input's 'site' property to 
designate the
  // current selection, and that uses the SITES list for the available options.
  // Note that when the selection is null, Wicket will lookup a localized 
string to
  // represent this null with key: "id + '.null'". In this case, this is 
'site.null'
  // which can be found in DropDownChoicePage.properties

  form.add(new DropDownChoice("site", SITES));
HTML:
        <select wicket:id="site">
                <option>site 1</option>
                <option>site 2</option>
        </select>
 I follow this quite closely. The code is inside a form:

            List<String> recCapNames = new ArrayList<String>();
            for (Capability cap : recognizedCaps)
                recCapNames.add(cap.toString());

            final DropDownChoice permissionDropDown = new DropDownChoice(
                    "permissionDropdown", recCapNames);
            add(permissionDropDown);

<select wicket:id="permissionDropdown">
<option>P1</option>
<option>P2</option>
</select>


The page renders fine. The dropdown shows the right elements in the list when I pull it down, and allows me to select one, etc. But when I hit any button on the form it pukes,
complaining about trying to setModelObject on a null model.

(I have several buttons on the form, only one of which is related to the DropDownChoice, and they all fail the same way. Their onSubmit() methods never get reached: some sort of general process of form-handling is run first, and that's where the exception happens.)

Stack dump below. Wicket 1.5 RC2.

Any ideas?

Thanks in advance
Jim

Stackdump:

Root cause:

java.lang.IllegalStateException: Attempt to set model object on null model of component: AdministerGroupForm:permissionspanel:permissionpanelform:permissionDropdown at org.apache.wicket.Component.setDefaultModelObject(Component.java:3006) at org.apache.wicket.markup.html.form.FormComponent.updateModel(FormComponent.java:1038) at org.apache.wicket.markup.html.form.Form$FormModelUpdateVisitor.component(Form.java:221) at org.apache.wicket.markup.html.form.Form$FormModelUpdateVisitor.component(Form.java:192) at org.apache.wicket.util.visit.Visits.visitPostOrderHelper(Visits.java:274) at org.apache.wicket.util.visit.Visits.visitPostOrderHelper(Visits.java:263)
     at org.apache.wicket.util.visit.Visits.visitPostOrder(Visits.java:246)
at org.apache.wicket.markup.html.form.FormComponent.visitComponentsPostOrder(FormComponent.java:384) at org.apache.wicket.markup.html.form.Form.internalUpdateFormComponentModels(Form.java:1669) at org.apache.wicket.markup.html.form.Form.updateFormComponentModels(Form.java:1634)
     at org.apache.wicket.markup.html.form.Form.process(Form.java:807)
at org.apache.wicket.markup.html.form.StatelessForm.process(StatelessForm.java:61) at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:743) at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:685)
     at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:259) at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:215) at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:171) at org.apache.wicket.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:157) at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:706) at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:63) at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:212) at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:253) at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:138) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:194) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:474) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:517) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:935) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:404) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:184) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:870) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
     at org.eclipse.jetty.server.Server.handle(Server.java:346)
at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:596) at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1068)
     at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:807)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:220) at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426) at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:241) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:528)
     at java.lang.Thread.run(Unknown Source)


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to