Hello everyone,
I am trying to process a login form. This is my Controller:
And this is my jsp with the form:Code:@Controller @RequestMapping("/index.htm") @SessionAttributes("user") public class LoginController { protected final Log logger = LogFactory.getLog(getClass()); @InitBinder public void setAllowedFields(WebDataBinder binder) { binder.setDisallowedFields(new String[] {"id"}); } @RequestMapping(method = RequestMethod.GET) public String setupForm(@RequestParam("user") User user, Model model) { model.addAttribute("user", user); return "login"; } @RequestMapping(method = RequestMethod.POST) public String processSubmit(@ModelAttribute("user") User user, BindingResult result, SessionStatus status) { new LoginValidator().validate(user, result); if (result.hasErrors()) { return "login"; } else { status.setComplete(); return "index"; } } }
When i invoke login.jsp i am getting the following exception:HTML Code:<form:form modelAttribute="user"> <table> <tr> <td>User Name :</td> <td><form:input path="user.login" /></td> <td><form:errors path="user.login" cssClass="error" /></td> </tr> <tr> <td>Password :</td> <td><form:password path="user.password" /></td> <td><form:errors path="user.password" cssClass="error" /></td> </tr> </table> </form:form>
I have been reading some posts about this exception, but no luck so far.Code:03-dic-2009 10:33:22 org.apache.catalina.core.StandardWrapperValve invoke GRAVE: Servlet.service() para servlet jsp lanzó excepción java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'user' available as request attribute at org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:141) at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getBindStatus(AbstractDataBoundFormElementTag.java:175) at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getPropertyPath(AbstractDataBoundFormElementTag.java:195) at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getName(AbstractDataBoundFormElementTag.java:161) at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.autogenerateId(AbstractDataBoundFormElementTag.java:148) at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.resolveId(AbstractDataBoundFormElementTag.java:139) at org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.writeDefaultAttributes(AbstractDataBoundFormElementTag.java:123) at org.springframework.web.servlet.tags.form.AbstractHtmlElementTag.writeDefaultAttributes(AbstractHtmlElementTag.java:409) at org.springframework.web.servlet.tags.form.InputTag.writeTagContent(InputTag.java:140) at org.springframework.web.servlet.tags.form.AbstractFormTag.doStartTagInternal(AbstractFormTag.java:91) at org.springframework.web.servlet.tags.RequestContextAwareTag.doStartTag(RequestContextAwareTag.java:78) at org.apache.jsp.login_jsp._jspx_meth_form_005finput_005f0(login_jsp.java:207) at org.apache.jsp.login_jsp._jspService(login_jsp.java:104) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 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:191) 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:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) at java.lang.Thread.run(Unknown Source)
Anyone knows what i am doing wrong?
Thanks a lot in advance


Reply With Quote