java - I am getting exception Neither BindingResult nor plain target object for bean name 'studentRegistration' available as request attribute in spring -
i new spring. creating project registration basic requirement other project.but getting exception given below
neither bindingresult nor plain target object bean name 'studentregistration' available request attribute java.lang.illegalstateexception: neither bindingresult nor plain target object bean name 'studentregistration' available request attribute @ org.springframework.web.servlet.support.bindstatus.<init>(bindstatus.java:144) @ org.springframework.web.servlet.tags.form.abstractdataboundformelementtag.getbindstatus(abstractdataboundformelementtag.java:168) @ org.springframework.web.servlet.tags.form.abstractdataboundformelementtag.getpropertypath(abstractdataboundformelementtag.java:188) @ org.springframework.web.servlet.tags.form.abstractdataboundformelementtag.getname(abstractdataboundformelementtag.java:154) @ org.springframework.web.servlet.tags.form.abstractdataboundformelementtag.autogenerateid(abstractdataboundformelementtag.java:141) @ org.springframework.web.servlet.tags.form.abstractdataboundformelementtag.resolveid(abstractdataboundformelementtag.java:132) @ org.springframework.web.servlet.tags.form.abstractdataboundformelementtag.writedefaultattributes(abstractdataboundformelementtag.java:116) @ org.springframework.web.servlet.tags.form.abstracthtmlelementtag.writedefaultattributes(abstracthtmlelementtag.java:422) @ org.springframework.web.servlet.tags.form.inputtag.writetagcontent(inputtag.java:142) @ org.springframework.web.servlet.tags.form.abstractformtag.dostarttaginternal(abstractformtag.java:84) @ org.springframework.web.servlet.tags.requestcontextawaretag.dostarttag(requestcontextawaretag.java:80) @ org.apache.jsp.studentregistration_jsp._jspx_meth_form_005finput_005f0(studentregistration_jsp.java:565) @ org.apache.jsp.studentregistration_jsp._jspx_meth_form_005fform_005f0(studentregistration_jsp.java:419) @ org.apache.jsp.studentregistration_jsp._jspservice(studentregistration_jsp.java:189) @ org.apache.jasper.runtime.httpjspbase.service(httpjspbase.java:70) @ javax.servlet.http.httpservlet.service(httpservlet.java:729) @ org.apache.jasper.servlet.jspservletwrapper.service(jspservletwrapper.java:438) @ org.apache.jasper.servlet.jspservlet.servicejspfile(jspservlet.java:396) @ org.apache.jasper.servlet.jspservlet.service(jspservlet.java:340) @ javax.servlet.http.httpservlet.service(httpservlet.java:729) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:291) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ org.apache.tomcat.websocket.server.wsfilter.dofilter(wsfilter.java:52) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:239) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:212) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:106) @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:502) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:141) @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:79) @ org.apache.catalina.valves.abstractaccesslogvalve.invoke(abstractaccesslogvalve.java:616) @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:88) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:521) @ org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1096) @ org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:674) @ org.apache.tomcat.util.net.nioendpoint$socketprocessor.dorun(nioendpoint.java:1500) @ org.apache.tomcat.util.net.nioendpoint$socketprocessor.run(nioendpoint.java:1456) @ java.util.concurrent.threadpoolexecutor.runworker(unknown source) @ java.util.concurrent.threadpoolexecutor$worker.run(unknown source) @ org.apache.tomcat.util.threads.taskthread$wrappingrunnable.run(taskthread.java:61) @ java.lang.thread.run(unknown source) jul 12, 2016 5:07:58 pm org.apache.catalina.core.standardwrappervalve invoke severe: servlet.service() servlet [jsp] in context path [/projectmonitoring] threw exception [java.lang.illegalstateexception: neither bindingresult nor plain target object bean name 'studentregistration' available request attribute] root cause java.lang.illegalstateexception: neither bindingresult nor plain target object bean name 'studentregistration' available request attribute @ org.springframework.web.servlet.support.bindstatus.<init>(bindstatus.java:144) @ org.springframework.web.servlet.tags.form.abstractdataboundformelementtag.getbindstatus(abstractdataboundformelementtag.java:168) @ org.springframework.web.servlet.tags.form.abstractdataboundformelementtag.getpropertypath(abstractdataboundformelementtag.java:188) @ org.springframework.web.servlet.tags.form.abstractdataboundformelementtag.getname(abstractdataboundformelementtag.java:154) @ org.springframework.web.servlet.tags.form.abstractdataboundformelementtag.autogenerateid(abstractdataboundformelementtag.java:141) @ org.springframework.web.servlet.tags.form.abstractdataboundformelementtag.resolveid(abstractdataboundformelementtag.java:132) @ org.springframework.web.servlet.tags.form.abstractdataboundformelementtag.writedefaultattributes(abstractdataboundformelementtag.java:116) @ org.springframework.web.servlet.tags.form.abstracthtmlelementtag.writedefaultattributes(abstracthtmlelementtag.java:422) @ org.springframework.web.servlet.tags.form.inputtag.writetagcontent(inputtag.java:142) @ org.springframework.web.servlet.tags.form.abstractformtag.dostarttaginternal(abstractformtag.java:84) @ org.springframework.web.servlet.tags.requestcontextawaretag.dostarttag(requestcontextawaretag.java:80) @ org.apache.jsp.studentregistration_jsp._jspx_meth_form_005finput_005f0(studentregistration_jsp.java:565) @ org.apache.jsp.studentregistration_jsp._jspx_meth_form_005fform_005f0(studentregistration_jsp.java:419) @ org.apache.jsp.studentregistration_jsp._jspservice(studentregistration_jsp.java:189) @ org.apache.jasper.runtime.httpjspbase.service(httpjspbase.java:70) @ javax.servlet.http.httpservlet.service(httpservlet.java:729) @ org.apache.jasper.servlet.jspservletwrapper.service(jspservletwrapper.java:438) @ org.apache.jasper.servlet.jspservlet.servicejspfile(jspservlet.java:396) @ org.apache.jasper.servlet.jspservlet.service(jspservlet.java:340) @ javax.servlet.http.httpservlet.service(httpservlet.java:729) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:291) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ org.apache.tomcat.websocket.server.wsfilter.dofilter(wsfilter.java:52) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:239) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:212) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:106) @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:502) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:141) @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:79) @ org.apache.catalina.valves.abstractaccesslogvalve.invoke(abstractaccesslogvalve.java:616) @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:88) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:521) @ org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1096) @ org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:674) @ org.apache.tomcat.util.net.nioendpoint$socketprocessor.dorun(nioendpoint.java:1500) @ org.apache.tomcat.util.net.nioendpoint$socketprocessor.run(nioendpoint.java:1456) @ java.util.concurrent.threadpoolexecutor.runworker(unknown source) @ java.util.concurrent.threadpoolexecutor$worker.run(unknown source) @ org.apache.tomcat.util.threads.taskthread$wrappingrunnable.run(taskthread.java:61) @ java.lang.thread.run(unknown source)
i know exception common , lot of people replied of solution did not worked me.i tried run ".war" file of created project of same category showing same exception.at last posting question here. model
package edu.projectmonitoring.model; import javax.persistence.column; import javax.persistence.entity; import javax.persistence.id; import javax.persistence.table; @entity @table(name="studentdetail") public class student { @id @column(name="emailid") string email; @column(name="name") string name; @column(name="class") string clas; @column(name="enrollementno") string enrollment; @column(name="password") string password; @column(name="course") string course; @column(name="contactno") string contactno; @column(name="status") string status; public string getstatus() { return status; } public void setstatus(string status) { this.status = status; } public string getname() { return name; } public void setname(string name) { this.name = name; } public string getemail() { return email; } public void setemail(string email) { this.email = email; } public string getclas() { return clas; } public string getenrollment() { return enrollment; } public void setenrollment(string enrollment) { this.enrollment = enrollment; } public string getpassword() { return password; } public void setpassword(string password) { this.password = password; } public string getcourse() { return course; } public void setcourse() { this.course = course; } public string getcontactno() { return contactno; } public void setcontactno(string contactno) { this.contactno = contactno; } public void setclas(string clas) { this.clas = clas; } public void setcourse(string course) { this.course = course; } }
this controller
package edu.projectmonitoring.controller; import java.util.arraylist; import java.util.list; import java.util.map; import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation.modelattribute; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.requestmethod; import edu.projectmonitoring.model.student; @controller @requestmapping(value = "/studentregistration") public class studentregistration { @requestmapping(method = requestmethod.get) public string viewregistration(map<string, object> model) { student registerform = new student(); model.put("studentregistration", registerform); list<string> courselist = new arraylist<string>(); courselist.add("developer"); courselist.add("designer"); courselist.add("it manager"); model.put("courselist", courselist); return "studentregistration"; } @requestmapping(method = requestmethod.post) public string processregistration(@modelattribute("studentregistration") student registerform, map<string, object> model) { // implement own registration logic here... // testing purpose: /*system.out.println("username: " + user.getusername()); system.out.println("password: " + user.getpassword()); system.out.println("email: " + user.getemail()); system.out.println("birth date: " + user.getbirthdate()); system.out.println("profession: " + user.getprofession()); */ return "index"; } }
this view
<%@ page language="java" contenttype="text/html; charset=utf-8" pageencoding="utf-8"%> <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!doctype html > <html> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <title>insert title here</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <%-- <link href="<c:url value="/resources/css/bootstrap.min.css" />" rel="stylesheet"> --%> <spring:url value="/resources/css/bootstrap.min.css" var="maincss" /> <link href="${maincss}" rel="stylesheet" /> <!-- <link href="https://fonts.googleapis.com/css?family=lobster" rel="stylesheet"> --> <spring:url value="/resources/css/bootstrap-cerulean.min.css" var="ceruloncss" /> <link href="${ceruloncss}" rel="stylesheet" /> <spring:url value="/resources/css/charisma-app.css" var="charismacss" /> <link href="${charismacss}" rel="stylesheet" /> <spring:url value="/resources/css/animate.min.css" var="animatecss" /> <link href="${animatecss}" rel="stylesheet" /> <spring:url value="/resources/css/custom.css" var="customcss" /> <link href="${customcss}" rel="stylesheet" /> </head> <body> <div> <form:form action="studentregistration" method="post" commandname="studentregistration" class="form-horizontal"> <div class="form-group"> <label for="name" class="col-sm-2 control-label"><spring:message code="student.name"/></label> <div class="col-sm-10"> <form:input path="name" class="form-control" placeholder="name"/> </div> </div> <div class="form-group"> <label for="course" class="col-sm-2 control-label"><spring:message code="student.course"/></label> <div class="col-sm-10"> <form:select path="course" items="${courselist}" /> </div> </div> <div class="form-group"> <label for="clas" class="col-sm-2 control-label"><spring:message code="student.class"/></label> <div class="col-sm-10"> <form:select path="clas" items="${classlist}" /> </div> </div> <div class="form-group"> <label for="enrollement" class="col-sm-2 control-label"><spring:message code="student.enrollement"/></label> <div class="col-sm-10"> <form:input path="enrollement" class="form-control" placeholder="enrollement number"/> </div> </div> <div class="form-group"> <label for="contactno" class="col-sm-2 control-label"><spring:message code="student.enrollement"/></label> <div class="col-sm-10"> <form:input path="contactno" class="form-control" placeholder="contact number"/> </div> </div> <div class="form-group"> <label for="email" class="col-sm-2 control-label"><spring:message code="student.enrollement"/></label> <div class="col-sm-10"> <form:input path="email" class="form-control" placeholder="email"/> </div> </div> <div class="form-group"> <label for="password" class="col-sm-2 control-label"><spring:message code="student.enrollement"/></label> <div class="col-sm-10"> <form:password path="password" class="form-control" placeholder="password"/> </div> </div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> <button type="submit" class="btn btn-default">sign in</button> </div> </div> </form:form> </div> <!-- javascript files starts--> <spring:url value="/resources/js/jquery-1.12.2.min.js" var="jqueryjs" /> <spring:url value="/resources/js/bootstrap.min.js" var="bootstrapjs" /> <spring:url value="/resources/js/jquery.cookie.js" var="cookiejs" /> <spring:url value="/resources/js/charisma.js" var="charjs" /> <script src="${jqueryjs}"></script> <script src="${bootstrapjs}"></script> <script src="${cookiejs}"></script> <script src="${charjs}"></script> <!-- javascript files ends--> </body> </html>
and @ last pom.xml file
<project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelversion>4.0.0</modelversion> <groupid>com.hari</groupid> <artifactid>springbasics</artifactid> <packaging>war</packaging> <version>0.0.1-snapshot</version> <name>springbasics maven webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>3.8.1</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-core --> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-core</artifactid> <version>4.3.0.release</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-web --> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-web</artifactid> <version>4.3.0.release</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-webmvc</artifactid> <version>4.3.0.release</version> </dependency> <!-- https://mvnrepository.com/artifact/javax.servlet/jstl --> <dependency> <groupid>javax.servlet</groupid> <artifactid>jstl</artifactid> <version>1.2</version> </dependency> <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-annotations --> <dependency> <groupid>org.hibernate</groupid> <artifactid>hibernate-annotations</artifactid> <version>3.5.6-final</version> </dependency> <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-commons-annotations --> <dependency> <groupid>org.hibernate</groupid> <artifactid>hibernate-commons-annotations</artifactid> <version>3.2.0.final</version> </dependency> <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api --> <dependency> <groupid>org.slf4j</groupid> <artifactid>slf4j-api</artifactid> <version>1.7.21</version> </dependency> </dependencies> <build> <finalname>projectmonitoring</finalname> </build> </project>
please out of this.thanks in advance.
try following approach see whether still facing error
my assumption: you're displaying actual jsp on browser html extension.
modify studentregistration.java controller slightly, .e.g.
@controller public class studentregistration { @requestmapping(value = "/studentregistration", method = requestmethod.get) public string viewregistration(map<string, object> model) { student registerform = new student(); model.put("studentregistration", registerform); list<string> courselist = new arraylist<string>(); courselist.add("developer"); courselist.add("designer"); courselist.add("it manager"); model.put("courselist", courselist); return "studentregistration"; } @requestmapping((value = "/index", method = requestmethod.post) public string processregistration(@valid student registerform, map<string, object> model, bindingresult result) { if (result.haserrors()) { return "error"; } else { //do student registeration process ... return "index"; } }}
- modify jsp on form tag
<form:form action="index.html" method="post" commandname="studentregistration" class="form-horizontal">
Comments
Post a Comment