|
|
Again Neither BindingResult nor plain target object for bean name
Hi. My first post!
This issue is so popular i see. After 10 hours looking for an answer i really doesn't know what's happening here It's a common issue but the solution isn't unique i guess.
index page
Just a simple redirect page to login view ----gt; status: working
login view
I use lt;form:formgt; tag -----gt; status: working
Code:
lt;form:form commandName=quot;loginquot; name=quot;loginquot; method=quot OSTquot;gt; lt;form:hidden path=quot;quot; id=quot;simulatorNamequot; name=quot;simulatorNamequot; value=quot;${sessionScope.simulatorName}quot;/gt; lt;table width=quot;100%quot; border=quot;0quot; cellspacing=quot;0quot; cellpadding=quot;0quot;gt; lt;trgt; lt;td width=quot;80quot; height=quot;30quot; align=quot;leftquot; valign=quot;middlequot;gt;Usuario:lt;/tdgt; lt;td align=quot;leftquot; valign=quot;middlequot;gt; lt;form:input id=quot;usernamequot; name=quot;usernamequot; path=quot;usernamequot; /gt;lt;br/gt; lt;font color=quot;redquot;gt;lt;form:errors path=quot;usernamequot;/gt;lt;/fontgt; lt;/tdgt;lt;/trgt;lt;trgt; lt;td width=quot;80quot; height=quot;30quot; align=quot;leftquot; valign=quot;middlequot;gt;Contraseña:lt;/tdgt; lt;td align=quot;leftquot; valign=quot;middlequot;gt; lt;form:input id=quot;passwordquot; name=quot;passwordquot; path=quot;passwordquot;/gt;lt;br/gt; lt;font color=quot;redquot;gt;lt;form:errors path=quot;passwordquot;/gt;lt;/fontgt; lt;/tdgt; lt;/trgt; lt;trgt; lt;td width=quot;80quot; height=quot;30quot; align=quot;leftquot; valign=quot;middlequot;gt;amp;lt;/tdgt; lt;td align=quot;rightquot; valign=quot;middlequot;gt; lt;input type=quot;submitquot; class=quot;submitquot; value=quot;Ingresarquot; /gt; lt;/tdgt; lt;/trgt; lt;/tablegt;lt;/form:formgt;
LoginController
A simple form controller with selective view name. Validations are working, and database transactions too. According to the Eclipse debugger the ModelAndView object is returned ok.Code:
@Override
protected ModelAndView onSubmit(fromServletRequest request, fromServletResponse response, Object command, BindException errors) throws ServletException{
ModelAndView modelAndView = null;
User user = (User) command;
User logged = this.getLoggedUser(user);
DisbursementSimulation simulation = new DisbursementSimulation();
Simulator simulator = new Simulator();
log.info(quot;user: quot; + user.getUsername());
log.info(quot;password: quot; + user.getPassword());
log.info(quot;type: quot; + user.getType());
log.info(quot;sim: quot; + request.getParameter(SIMULATOR_NAME_PARAM_NAME));
//fill simulators map
this.fillSimulatorsMap();
if (logged != null){
simulation.setUser(logged);
simulator.setUuid(this.simulatorMap.get(request.getParameter(SIMULATOR_NAME_PARAM_NAME)));
simulation.setSimulator(simulator);
//operation is a String from a hidden text in login form
if(request.getParameter(SIMULATOR_NAME_PARAM_NAME).equalsIgnoreCase(ADDITIONAL_DAYS_RATE_SIMULATOR)) {
modelAndView = this.additionalDaysRate(request, response, simulation, errors);
}else if(request.getParameter(SIMULATOR_NAME_PARAM_NAME).equalsIgnoreCase(DISBURSEMENT_PROVIDER_RATE_SIMULATOR)) {
modelAndView = this.disbursementToProvider(request, response, simulation, errors);
}else if(request.getParameter(SIMULATOR_NAME_PARAM_NAME).equalsIgnoreCase(CDT_SIMULATOR)) {
modelAndView = this.cdt(request, response, simulation, errors);
}else if(request.getParameter(SIMULATOR_NAME_PARAM_NAME).equalsIgnoreCase(ADMIN_VIEW) amp;amp; logged.getType() == 1) {
modelAndView = this.admin(request, response, simulation, errors);
}else{
//TODO: generate error view. AJAX?
//modelAndView = new ModelAndView();
log.info(quot;error herequot;);
}
//modelAndView.addObject(USER_UUID_PARAM_NAME, logged.getUuid());
//modelAndView.addObject(SIMULATOR_UUID_PARAM_NAME, this.simulatorMap.get(request.getParameter(SIMULATOR_NAME_PARAM_NAME)));
}
log.debug(modelAndView.getViewName());
return modelAndView;
}
public ModelAndView disbursementToProvider(fromServletRequest request, fromServletResponse response, DisbursementSimulation simulation, BindException errors){
return new ModelAndView(DISBURSEMENT_PROVIDER_RATE_SIMULATOR, DISBURSEMENT_PROVIDER_RATE_SIMULATOR + MODEL_SUFFIX, simulation);
}
Test Case: DISBURSEMENT_PROVIDER_RATE_SIMULATOR view
JSP: lt;form:formgt; tag againCode:
lt;form:form commandName=quot;simulationFormquot; id=quot;simulationquot; name=quot;simulationFormquot; method=quot OSTquot;gt; lt;fieldset class=quot;field_1quot;gt; lt;legendgt;Campos de entradalt;/legendgt; lt;table width=quot;501quot; border=quot;0quot; cellspacing=quot;0quot; cellpadding=quot;0quot;gt; lt;trgt; lt;td width=quot;87quot; height=quot;40quot; align=quot;leftquot; valign=quot;middlequot;gt;Spreadlt;/tdgt; lt;td width=quot;310quot; height=quot;40quot; align=quot;leftquot; valign=quot;middlequot;gt;
lt;!-- lt;form:input id=quot;spreadquot; name=quot;spreadquot; path=quot;spreadquot; /gt;lt;br/gt;--gt;
lt;!-- lt;font color=quot;redquot;gt;lt;form:errors path=quot;spreadquot;/gt;lt;/fontgt;--gt; lt;/tdgt; lt;/trgt;lt;trgt; lt;td width=quot;87quot; height=quot;40quot; align=quot;leftquot; valign=quot;middlequot;gt;amp;lt;/tdgt; lt;td width=quot;310quot; height=quot;40quot; align=quot;rightquot; valign=quot;middlequot;gt;lt;input type=quot;submitquot; onclick=quot;quot; class=quot;buttonquot; name=quot;cdt_simularquot; id=quot;cdt_simularquot; value=quot;Simularquot; /gt;lt;/tdgt; lt;/trgt; lt;/form:formgt;And its Controller (SimpleFormController again)
Code:
@Override
protected ModelAndView onSubmit(fromServletRequest request, fromServletResponse response, Object command, BindException errors) throws ServletException{
ModelAndView modelAndView = null;
SimulationResult result;
Serializable pk = null;
Listlt;Stringgt; simulationParams = new ArrayListlt;Stringgt;();
SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_FORMAT);
//get from data
DisbursementSimulation simulation = (DisbursementSimulation) command;
simulation.setSimulationDate(Calendar.getInstance().getTime());
//get simulator
Simulator simulator = null;//this.simulatorDao.getSimulator(Integer.valueOf(request.getParameter(SIMULATOR_UUID_PARAM_NAME)));
//get user
User user = new User();
user.setUuid(Integer.valueOf(request.getParameter(USER_UUID_PARAM_NAME)));
//calculate simulation
result = this.calculate(simulation);
//set simulations used parameters
simulationParams.add(dateFormat.format(simulation.getSimulationDate()));//simulation date format DD/MM/YYYY
simulationParams.add(String.valueOf(simulation.getSpread()));//spread
simulationParams.add(dateFormat.format(simulation.getDiscountDate()));//discount date format DD/MM/YYYY
simulationParams.add(dateFormat.format(simulation.getExpirationDate()));//expiration date format DD/MM/YYYY
simulationParams.add(String.valueOf(simulation.getInvoiceUS()));//invoice US
simulationParams.add(String.valueOf(simulation.getExpirationDays()));//spread
//set persistent values
if (simulator != null){
simulation.setSimulator(simulator);
}
simulation.setUser(user);
simulation.setSimulationParams(Utils.serializeParams(simulationParams));
//add model
modelAndView = new ModelAndView(quot;ajax_resultquot;);
modelAndView.addObject(SIMULATION_RESULT_PARAM_NAME, result);
return modelAndView;
}
But here is the problem. I get an exception trying to render this view. Attach the stack trace of this exception:Code:
java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'simulationForm' available as request attribute
at org..web.servlet.support.BindStatus.lt;initgt;(BindStatus.java:141)
at org..web.servlet.tags.form.AbstractDataBoundFormElementTag.getBindStatus(AbstractDataBoundFormElementTag.java:174)
at org..web.servlet.tags.form.AbstractDataBoundFormElementTag.getPropertyPath(AbstractDataBoundFormElementTag.java:194)
at org..web.servlet.tags.form.AbstractDataBoundFormElementTag.getName(AbstractDataBoundFormElementTag.java:160)
at org..web.servlet.tags.form.AbstractDataBoundFormElementTag.writeDefaultAttributes(AbstractDataBoundFormElementTag.java:123)
at org..web.servlet.tags.form.AbstractHtmlElementTag.writeDefaultAttributes(AbstractHtmlElementTag.java:408)
at org..web.servlet.tags.form.InputTag.writeTagContent(InputTag.java:140)
at org..web.servlet.tags.form.AbstractFormTag.doStartTagInternal(AbstractFormTag.java:102)
at org..web.servlet.tags.RequestContextAwareTag.doStartTag(RequestContextAwareTag.java:79)
at org.apache.jsp.WEB_002dINF.views.disbursementToProviderRateSimulator_jsp._jspx_meth_form_input_0(disbursementToProviderRateSimulator_jsp.java from :393)
at org.apache.jsp.WEB_002dINF.views.disbursementToProviderRateSimulator_jsp._jspService(disbursementToProviderRateSimulator_jsp.java from :129)
at org.apache.jasper.runtime.fromJspBase.service(fromJspBase.java:109)
at javax.servlet.from.fromServlet.service(fromServlet.java:847)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:406)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:483)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:373)
at javax.servlet.from.fromServlet.service(fromServlet.java:847)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:822)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:517)
at org.apache.catalina.core.ApplicationDispatcher.doDispatch(ApplicationDispatcher.java:488)
at org.apache.catalina.core.ApplicationDispatcher.dispatch(ApplicationDispatcher.java:379)
at org.apache.catalina.core.ApplicationDispatcher.dispatch(ApplicationDispatcher.java:336)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:314)
at org..web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
at org..web.servlet.view.AbstractView.render(AbstractView.java:250)
at org..web.servlet.DispatcherServlet.render(DispatcherServlet.java:1031)
at org..web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:815)
at org..web.servlet.DispatcherServlet.doService(DispatcherServlet.java:717)
at org..web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
at org..web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
at javax.servlet.from.fromServlet.service(fromServlet.java:754)
at javax.servlet.from.fromServlet.service(fromServlet.java:847)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
at com.sun.grizzly.from.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
at com.sun.grizzly.from.ProcessorTask.doProcess(ProcessorTask.java:693)
at com.sun.grizzly.from.ProcessorTask.process(ProcessorTask.java:954)
at com.sun.grizzly.from.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
at com.sun.grizzly.from.fromProtocolChain.execute(fromProtocolChain.java:76)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
at java.lang.Thread.run(Thread.java:662)Web.xml
Code:
lt;!-- The definition of the Root Spring Container shared by all Servlets and Filters --gt;
lt;context-paramgt;
lt;param-namegt;contextConfigLocationlt;/param-namegt;
lt;param-valuegt;
/WEB-INF/spring/root-context.xml
/WEB-INF/app-persistence.xml
lt;/param-valuegt;
lt;/context-paramgt;
lt;!-- Creates the Spring Container shared by all Servlets and Filters --gt;
lt;listenergt;
lt;listener-classgt;org..web.context.ContextLoaderListenerlt;/listener-classgt;
lt;/listenergt;
lt;!-- Processes application requests --gt;
lt;servletgt;
lt;servlet-namegt;appServletlt;/servlet-namegt;
lt;servlet-classgt;org..web.servlet.DispatcherServletlt;/servlet-classgt;
lt;init-paramgt;
lt;param-namegt;contextConfigLocationlt;/param-namegt;
lt;param-valuegt;/WEB-INF/spring/appServlet/servlet-context.xmllt;/param-valuegt;
lt;/init-paramgt;
lt;load-on-startupgt;1lt;/load-on-startupgt;
lt;/servletgt;
lt;servlet-mappinggt;
lt;servlet-namegt;appServletlt;/servlet-namegt;
lt;ucl-patterngt;*.htmllt;/ucl-patterngt;
lt;/servlet-mappinggt;
lt;welcome-file-listgt;
lt;welcome-filegt;index.jsplt;/welcome-filegt;
lt;/welcome-file-listgt;
Servlet context
Code:
lt;!-- Enables the Spring MVC @Controller programming model --gt;
lt;annotation-driven /gt;
lt;!-- Handles from GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory --gt;
lt;resources mapping=quot;/resources/**quot; location=quot;/resources/quot; /gt;
lt;!-- Resolves views selected for rendering by AJAX requests --gt;
lt;beans:bean id=quot;ajaxViewResolverquot; class=quot;com.todo1.simulators.ajax.AjaxViewResolverquot;gt; lt;beans:property name=quot;ajaxViewquot;gt;lt;beans:bean class=quot;com.todo1.simulators.ajax.AjaxViewquot; /gt; lt;/beans:propertygt; lt;beans:property name=quot;ajaxPrefixquot; value=quot;ajax_quot;gt;lt;/beans:propertygt; lt;/beans:beangt;
lt;!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory --gt;
lt;beans:bean class=quot;org..web.servlet.view.InternalResourceViewResolverquot;gt;
lt;beans:property name=quot;viewClassquot; value=quot;org..web.servlet.view.JstlViewquot;gt;lt;/beans:propertygt;
lt;beans:property name=quot;prefixquot; value=quot;/WEB-INF/views/quot; /gt;
lt;beans:property name=quot;suffixquot; value=quot;.jspquot; /gt;
lt;/beans:beangt;
lt;beans:bean id=quot;simpleuclMappingquot; class=quot;org..web.servlet.handler.SimpleuclHandlerMappingquot;gt;
lt;beans:property name=quot;mappingsquot;gt;
lt;beans:propsgt;
lt;beans:prop key=quot;/login.htmlquot;gt;loginControllerlt;/beans:propgt;
lt;beans:prop key=quot;/disbursementToProviderRateSimulator.htmlquot;gt;disbursementToProviderRateControllerlt;/beans:propgt;
lt;/beans:propsgt;
lt;/beans:propertygt;
lt;/beans:beangt;
Controllers.xml
Code:
lt;context:component-scan base-package=quot;com.todo1.simulatorsquot; /gt;
lt;bean class=quot;org..web.servlet.mvc.SimpleControllerHandlerAdapterquot; /gt;
lt;bean id=quot;loginValidatorquot; class=quot;com.todo1.simulators.mvc.login.LoginValidatorquot;/gt;
lt;bean id=quot;loginControllerquot; class=quot;com.todo1.simulators.mvc.login.LoginControllerquot;gt;
lt;property name=quot;validatorquot;gt;lt;ref bean=quot;loginValidatorquot;/gt;lt;/propertygt;
lt;property name=quot;commandNamequot; value=quot;loginquot;/gt;
lt;property name=quot;commandClassquot; value=quot;com.todo1.simulators.mvc.login.Userquot;/gt;
lt;property name=quot;sessionFormquot;gt;lt;valuegt;truelt;/valuegt;lt;/propertygt;
lt;property name=quot;formViewquot;gt;lt;valuegt;loginlt;/valuegt;lt;/propertygt;
lt;/beangt;
lt;bean id=quot;disbursementToProviderRateValidatorquot; class=quot;com.todo1.simulators.mvc.disbursementtoproviderrate.SimulationValidatorquot;/gt;
lt;bean name=quot;disbursementToProviderRateControllerquot; class=quot;com.todo1.simulators.mvc.disbursementtoproviderrate.SimulationControllerquot;gt;
lt;property name=quot;validatorquot;gt;lt;ref bean=quot;disbursementToProviderRateValidatorquot;/gt;lt;/propertygt;
lt;property name=quot;commandNamequot; value=quot;simulationFormquot;/gt;
lt;property name=quot;commandClassquot; value=quot;com.todo1.simulators.mvc.disbursementtoproviderrate.DisbursementSimulationquot;/gt;
lt;property name=quot;sessionFormquot;gt;lt;valuegt;truelt;/valuegt;lt;/propertygt;
lt;property name=quot;formViewquot;gt;lt;valuegt;disbursementToProviderRateSimulatorlt;/valuegt;lt;/propertygt;
lt;/beangt;
Thanks for read
Any help would be appreciated
Any idea guys?
I think i have an error mapping controllers cause i ha the same issue with the login view before but i solved redirecting the view from index and avoiding load the view directly.
Please help me
I tried this from a topic here:Code:
@Override
protected ModelAndView onSubmit(fromServletRequest request, fromServletResponse response, Object command, BindException errors) throws Exception{
ModelAndView modelAndView = null;
User user = (User) command;
User logged = this.getLoggedUser(user);
DisbursementSimulation simulation = new DisbursementSimulation();
Simulator simulator = new Simulator();
//String selectedViewName = quot;quot;;
log.info(quot;user: quot; + user.getUsername());
log.info(quot;password: quot; + user.getPassword());
log.info(quot;type: quot; + user.getType());
log.info(quot;sim: quot; + request.getParameter(SIMULATOR_NAME_PARAM_NAME));
//fill simulators map
this.fillSimulatorsMap();
if (logged != null){
simulation.setUser(logged);
simulator.setUuid(this.simulatorMap.get(request.getParameter(SIMULATOR_NAME_PARAM_NAME)));
simulation.setSimulator(simulator);
}
super.setSuccessView(request.getParameter(SIMULATOR_NAME_PARAM_NAME));
Maplt;String, Objectgt; model = errors.getModel();
model.put(request.getParameter(SIMULATOR_NAME_PARAM_NAME) + MODEL_SUFFIX, simulation);
modelAndView = super.onSubmit(request, response, command, errors);
log.debug(quot;view name: quot; + modelAndView.getViewName());
return modelAndView;
But didn't work
May be a senior member can help with this.
May be i'm not mapping my controllers well or may be i'm missing something using the commandName param
May be some debug info can be handy
Before loading login view (success render)
modelAndView (mv)
ModelAndView: reference to view with name 'login'; model is {login=com.todo1.simulators.mvc.login.User@4db3fe, org..validation.BindingResult.login =org..validation.BeanPropertyBindin gResult: 0 errors}
After login and trying to render next view
modelAndView (mv)
ModelAndView: reference to view with name 'disbursementToProviderRateSimulator'; model is {login=com.todo1.simulators.mvc.login.User@4db3fe, org..validation.BindingResult.login =org..validation.BeanPropertyBindin gResult: 0 errors}
model is User?? weird
Also, i could see the request at the moment
Request mappingData
mappingData
host: StandardEngine[com.sun.appserv].StandardHost[server]
context: StandardEngine[com.sun.appserv].StandardHost[server].StandardContext[/t1-psf-simulators]
wrapper: StandardEngine[com.sun.appserv].StandardHost[server].StandardContext[/t1-psf-simulators].StandardWrapper[appServlet]
servletName: appServlet
contextPath: /t1-psf-simulators
requestPath: /login.html
wrapperPath: /login.html
pathInfo: null
redirectPath: null
pathInfo = null?? What the ... i really don´t get it
Ok guys. I changed my onSubmit method in my LoginController (SimpleFormController) following some recommendations of other topics:Code:
protected ModelAndView onSubmit(fromServletRequest request, fromServletResponse response, Object command, BindException errors) throws Exception{
ModelAndView modelAndView = null;
User user = (User) command;
User logged = this.getLoggedUser(user);
DisbursementSimulation simulation = new DisbursementSimulation();
Simulator simulator = new Simulator();//TODO: get simulator
//fill simulators map
this.fillSimulatorsMap();
if (logged != null){
simulation.setUser(logged);
simulator.setUuid(this.simulatorMap.get(request.getParameter(SIMULATOR_NAME_PARAM_NAME)));
simulation.setSimulator(simulator);
}
super.setSuccessView(request.getParameter(SIMULATOR_NAME_PARAM_NAME));
Maplt;String, Objectgt; model = errors.getModel();
model.put(request.getParameter(SIMULATOR_NAME_PARAM_NAME) + MODEL_SUFFIX, simulation);
modelAndView = super.onSubmit(request, response, command, errors);
log.info(quot;view name: quot; + modelAndView.getViewName());
return modelAndView;
}
But still the same error
Mappings of the SimpleuclHandlerMapping (look good i guess):Code:
INFO: INFO : org..web.servlet.handler.SimpleuclHandlerMapping - Mapped ucl path [/disbursementToProviderRate.html] onto handler of type [class com.todo1.simulators.mvc.disbursementtoproviderrate.SimulationController]
INFO: INFO : org..web.servlet.handler.SimpleuclHandlerMapping - Mapped ucl path [/login.html] onto handler of type [class com.todo1.simulators.mvc.login.LoginController]
I tried to track the error and it's here where the exception shows:
org..web.servlet.view.AbstractView. java (line 250)
renderMergedOutputModel(mergedModel, request, response);
Comments??
Thanks
I tested adding initBinder method for objects type DateCode:
@Override protected void initBinder(fromServletRequest request,ServletRequestDataBinder binder) throws Exception{
DateFormat df = new SimpleDateFormat(DATE_FORMAT);
CustomDateEditor editor = new CustomDateEditor(df, false);
binder.registerCustomEditor(Date.class, editor); }
And isn't working yet
Please guys help me. I don't have idea what's going on here.
I know it's a very common exception but i'm trying and i need help.
anyone???? |
|