java - How to debug NumberFormatException somewhere in BaseCommandController.bindAndValidate -
a new springframework. have created controller extends simpleformcontroller. have created command class have few string fields , 2 list<string> fields.
the form located on php generated page , procesed php. trying move processing java, part of application generating large spreadsheets, php can't handle more.
anyway, form not contain numeric fields. still, when submit form numberformatexception:
exception org.springframework.web.util.nestedservletexception: request processing failed; nested exception java.lang.numberformatexception: input string: "" org.springframework.web.servlet.frameworkservlet.processrequest(frameworkservlet.java:894) org.springframework.web.servlet.frameworkservlet.dopost(frameworkservlet.java:789) javax.servlet.http.httpservlet.service(httpservlet.java:647) javax.servlet.http.httpservlet.service(httpservlet.java:728) org.netbeans.modules.web.monitor.server.monitorfilter.dofilter(monitorfilter.java:393) root cause java.lang.numberformatexception: input string: "" java.lang.numberformatexception.forinputstring(numberformatexception.java:65) java.lang.integer.parseint(integer.java:504) java.lang.integer.parseint(integer.java:527) org.springframework.beans.beanwrapperimpl.setpropertyvalue(beanwrapperimpl.java:991) org.springframework.beans.beanwrapperimpl.setpropertyvalue(beanwrapperimpl.java:924) org.springframework.beans.abstractpropertyaccessor.setpropertyvalues(abstractpropertyaccessor.java:76) org.springframework.validation.databinder.applypropertyvalues(databinder.java:692) org.springframework.validation.databinder.dobind(databinder.java:588) org.springframework.web.bind.webdatabinder.dobind(webdatabinder.java:191) org.springframework.web.bind.servletrequestdatabinder.bind(servletrequestdatabinder.java:112) org.springframework.web.servlet.mvc.basecommandcontroller.bindandvalidate(basecommandcontroller.java:394) org.springframework.web.servlet.mvc.abstractformcontroller.handlerequestinternal(abstractformcontroller.java:266) org.springframework.web.servlet.mvc.abstractcontroller.handlerequest(abstractcontroller.java:153) org.springframework.web.servlet.mvc.simplecontrollerhandleradapter.handle(simplecontrollerhandleradapter.java:48) org.springframework.web.servlet.dispatcherservlet.dodispatch(dispatcherservlet.java:923) org.springframework.web.servlet.dispatcherservlet.doservice(dispatcherservlet.java:852) org.springframework.web.servlet.frameworkservlet.processrequest(frameworkservlet.java:882) org.springframework.web.servlet.frameworkservlet.dopost(frameworkservlet.java:789) javax.servlet.http.httpservlet.service(httpservlet.java:647) javax.servlet.http.httpservlet.service(httpservlet.java:728) org.netbeans.modules.web.monitor.server.monitorfilter.dofilter(monitorfilter.java:393) the stack trace not contain of classes , have no idea how debug it.
here command class:
public class exportcommand { private string ifs_login; private string exp_sales_price_group_id_sp_ip_pl; private list<string> exp_catalog_group; private list<string> exp_vendor_no_pps; private string exp_price_list_no_pl; private string exp_contract; private string exp_language_code_spl; private string exp_active_ind_sp = ""; //those checkboxes "y" checked value, initialize them empty strings if unchecked. private string exp_desc = ""; private string exp_customs = ""; private string exp_ordered = ""; //here goes default getters , setters } here form seen in chrome developer tools:
ifs_test:mage exp_sales_price_group_id_sp_ip_pl:molex exp_catalog_group[]: exp_price_list_no_pl:molex exp_contract:ver exp_language_code_spl: ... along it's source form:
ifs_test=mage&exp_sales_price_group_id_sp_ip_pl=molex&exp_catalog_group%5b%5d=&exp_price_list_no_pl=molex&exp_contract=ver&exp_language_code_spl= edit:
my controller looks this:
public class exportcontroller extends org.springframework.web.servlet.mvc.simpleformcontroller { @override protected modelandview onsubmit(httpservletrequest request, httpservletresponse response, object command, bindexception errors) throws exception { //.... } } what doing wrong?
i have found answer. problem have tried directly use php form without modifications. php handles arrays of data in forms if have [] suffix in name of input or select box. of course can have indices in square bracket field[1] or field[some_text_index], brackets left blank , case.
it seems spring tried map 'exp_catalog_group[]' field name name of list<string> exp_catalog_group field, , trying extract index sqare brackets. index should integer list, empty string.
i had change <select> name on php part of system exp_catalog_group , working now.
stupid beginners mistake :)
Comments
Post a Comment