Hi,
I am using a ListView to render the dynamic number of select boxes and their options. I have added all select boxes into a ListView object and listView into a form and trying to calculate a final price using all selected values from select boxes. However, when I submit the form I got an exception before the execution of onSubmit() method. I am doing sth wrong but I could not find. Would u please give me some idea about how to overcome this problem. Thx. Fatih I have a database design similar to below one. Product names are coming from db and all products have diffrent kind of Properties And each property have options all also coming from db (choices in the select boxes). Product ------------ Id Name Eg. Audi A3 Audi A4 Audi A6 ProductProperty ---------- Id Name Eg. Engine Type. . . ProductPropertyOption ------- Id Name Eg. 1.6lt 2.0lt 1.9lt Diesel . . StackTrace: org.apache.wicket.WicketRuntimeException: Method onFormSubmitted of interface org.apache.wicket.markup.html.form.IFormSubmitListener targeted at component [MarkupContainer [Component id = productProposalForm, page = com.cooldatasoft.page.proposal.ProductMenu, path = 1:productProposalForm.ProductMenu$ProductProposalForm, isVisible = true, isVersioned = true]] threw an exception at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.j ava:194) at org.apache.wicket.request.target.component.listener.ListenerInterfaceRequest Target.processEvents(ListenerInterfaceRequestTarget.java:73) at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(Abstra ctRequestCycleProcessor.java:90) at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:116 6) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1241) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1316) at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:354) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:194) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va: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:263) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http 11Protocol.java:584) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.j ava:183) ... 20 more Caused by: java.lang.IllegalStateException: Attempt to set model object on null model of component: productProposalForm:productsPropertyListView:0:dropDown:dropDown at org.apache.wicket.Component.setModelObject(Component.java:2850) at org.apache.wicket.markup.html.form.FormComponent.updateModel(FormComponent.j ava:1016) at org.apache.wicket.markup.html.form.Form$19.validate(Form.java:1750) at org.apache.wicket.markup.html.form.Form$ValidationVisitor.formComponent(Form .java:160) at org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrde rHelper(FormComponent.java:402) at org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrde rHelper(FormComponent.java:389) at org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrde rHelper(FormComponent.java:389) at org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrde rHelper(FormComponent.java:389) at org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrde rHelper(FormComponent.java:389) at org.apache.wicket.markup.html.form.FormComponent.visitFormComponentsPostOrde r(FormComponent.java:366) at org.apache.wicket.markup.html.form.Form.visitFormComponentsPostOrder(Form.ja va:1026) at org.apache.wicket.markup.html.form.Form.internalUpdateFormComponentModels(Fo rm.java:1742) at org.apache.wicket.markup.html.form.Form.updateFormComponentModels(Form.java: 1709) at org.apache.wicket.markup.html.form.Form.process(Form.java:831) at org.apache.wicket.markup.html.form.Form.onFormSubmitted(Form.java:773) ... 25 more final ListView productsList = new ListView("productsPropertyListView",new Model( (Serializable)(new ProductPropertyDAO(productId)).getResultList()) ) { public void populateItem(final ListItem item) { final TbProductProperty productProperty = (TbProductProperty) item.getModelObject(); item.add(new Label("productPropertyName",productProperty.getName())); item.add(new NestedDropDownPanel("dropDown", productProperty.getId())); } }; productsList.setReuseItems(true); add(productsList); public class NestedDropDownPanel extends Panel { public NestedDropDownPanel(String id,int productPropertyId) { super(id); ProductPropertyOptionDAO productPropertyOptionDAO = new ProductPropertyOptionDAO(productPropertyId); DropDownChoice dropDownChoice=new DropDownChoice("dropDown",new Model((Serializable)productPropertyOptionDAO.getResultList()),new ChoiceRenderer("name")); dropDownChoice.setRequired(true); add(dropDownChoice); } } <form wicket:id="productProposalForm"> <table><tr><td> <fieldset> <legend>Product Proposal</legend> <font color="RED"><span wicket:id="feedbackPanel"/></font> <table> <tr wicket:id="productsPropertyListView"> <td><span wicket:id="productPropertyName"></span></td> <td><span wicket:id="dropDown"></span></td> </tr> </table> <input type="submit" value="Hesapla" wicket:id="calculateButton"/> </fieldset> </td></tr></table> </form>