Results 1 to 3 of 3

Thread: Spring MVC -- Neither BindingResult nor plain target object for bean name available

  1. #1
    Join Date
    Jul 2012
    Posts
    26

    Default Spring MVC -- Neither BindingResult nor plain target object for bean name available

    Can anyone help me with my code? I have the following error message.
    Code:
    HTTP Status 500 - 
    
    --------------------------------------------------------------------------------
    
    type Exception report
    
    message 
    
    description The server encountered an internal error () that prevented it from fulfilling this request.
    
    exception 
    
    org.apache.jasper.JasperException: java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'comment' available as request attribute
    	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:541)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:429)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    
    
    root cause 
    
    java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'comment' available as request attribute
    	org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:141)
    	org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getBindStatus(AbstractDataBoundFormElementTag.java:174)
    	org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getPropertyPath(AbstractDataBoundFormElementTag.java:194)
    	org.springframework.web.servlet.tags.form.LabelTag.autogenerateFor(LabelTag.java:129)
    	org.springframework.web.servlet.tags.form.LabelTag.resolveFor(LabelTag.java:119)
    	org.springframework.web.servlet.tags.form.LabelTag.writeTagContent(LabelTag.java:89)
    	org.springframework.web.servlet.tags.form.AbstractFormTag.doStartTagInternal(AbstractFormTag.java:102)
    	org.springframework.web.servlet.tags.RequestContextAwareTag.doStartTag(RequestContextAwareTag.java:79)
    	org.apache.jsp.GuestBook_jsp._jspx_meth_form_005flabel_005f0(GuestBook_jsp.java:271)
    	org.apache.jsp.GuestBook_jsp._jspx_meth_form_005fform_005f0(GuestBook_jsp.java:216)
    	org.apache.jsp.GuestBook_jsp._jspService(GuestBook_jsp.java:127)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    Here is the form in my JSP where the problem occurs.
    Code:
    	<form:form modelAttribute="comment" method="POST" action="/addComment">
    		<table>
    			<tr>
    				<td><form:label path="name">Name:</form:label></td>
    				<td><form:input path="name" /></td>
    			</tr>
    			<tr>
    				<td><form:label path="comment">Message:</form:label></td>
    				<td><form:textarea path="comment" rows="10" cols="50" /></td>
    			</tr>
    			<tr>
    				<td><input type="submit" value="Submit comment" /></td>
    				<td>&nbsp;</td>
    			</tr>
    		</table>
    	</form:form>
    This is my controller class.
    Code:
    package com.controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.ModelMap;
    import org.springframework.web.bind.annotation.ModelAttribute;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.servlet.ModelAndView;
    
    import com.dao.CommentDAO;
    import com.model.Comment;
    
    @Controller
    public class CommentController {
    	@ModelAttribute
    	public Comment getComment() {
    		return new Comment();
    	}
    	
    	@RequestMapping(value = "comment", method = RequestMethod.POST)
    	public ModelAndView comment() {
    		return new ModelAndView("comment", "command", new Comment());		
    	}
    	
    	@RequestMapping(value = "/addComment", method = RequestMethod.POST)
    	public String addComment(@ModelAttribute("comment") Comment comment, ModelMap model) {
    		CommentDAO commentDAO = new CommentDAO();
    		java.util.Date today = new java.util.Date();
    		java.sql.Date date = new java.sql.Date(today.getTime());
    		comment.setDate(date);
    		model.addAttribute("comment", comment);
    
    		if (commentDAO.writeComment(comment) == true) {
    			return "GuestBook";
    		}
    		
    		return "Oops";			
    	}
    }
    web.xml
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app id="WebApp_ID" version="2.4"
    	xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    	<display-name>Granada High School Class of 1986</display-name>
        <servlet>
            <servlet-name>ghs1986</servlet-name>
            <servlet-class>
                org.springframework.web.servlet.DispatcherServlet
            </servlet-class>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>ghs1986</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
    
    	<listener>
    		<listener-class>com.configuration.ConfigurationListener</listener-class>
    	</listener>
    	<listener>
        	<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    	</listener>
    	
    	<welcome-file-list>
    		<welcome-file>home.jsp</welcome-file>
    	</welcome-file-list>
    </web-app>
    ghs1986-servlet.xml
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xmlns:mvc="http://www.springframework.org/schema/mvc"
    	xmlns:context="http://www.springframework.org/schema/context"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans
    				http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    				http://www.springframework.org/schema/context
    				http://www.springframework.org/schema/context/spring-context-3.0.xsd
    				http://www.springframework.org/schema/mvc
    				http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
    
    	<mvc:annotation-driven />
    
    	<context:component-scan base-package="com.controller" />
    
    	<bean id="viewResolver"
    		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    		<property name="suffix" value=".jsp" />
    	</bean>
    	
    </beans>
    applicationContext.xml
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    
    <beans>
    
      <bean id="comment" class="com.model.Comment" />
    
    </beans>

  2. #2
    Join Date
    Jun 2006
    Location
    The Netherlands
    Posts
    13,625

    Default

    Please use the search as this question has been answered numerous times before. In short your GET request should setup the model for rendering that isn't happening or you are simply accessing the jsp directly (whereas the DispatcherServlet should forward to it).
    Marten Deinum
    Java Consultant / Pragmatist / Open Source Enthousiast / Author


    Pro Spring MVC: With Web Flow
    Conspect

    Have you read the reference guide.
    Use the [ code ] tags, young padawan

  3. #3
    Join Date
    Jan 2011
    Location
    vizag India
    Posts
    17

    Default

    Hi Marten

    I am facing the same problem what Mr FHSerkland is facing.

    java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name ' WCiForm' available as request attribute
    org.springframework.web.servlet.support.BindStatus .<init>(BindStatus.java:141)


    HiddenInputTag - Neither BindingResult nor plain target object for bean name 'WCiForm' available as request attribute
    java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'WCiForm' available as request attribute
    at org.springframework.web.servlet.support.BindStatus .<init>(BindStatus.java:141)
    at org.springframework.web.servlet.tags.form.Abstract DataBoundFormElementTag.getBindStatus(AbstractData BoundFormElementTag.java:174)
    at org.springframework.web.servlet.tags.form.Abstract DataBoundFormElementTag.getPropertyPath(AbstractDa taBoundFormElementTag.java:194)
    at org.springframework.web.servlet.tags.form.Abstract DataBoundFormElementTag.getName(AbstractDataBoundF ormElementTag.java:160)
    at org.springframework.web.servlet.tags.form.Abstract DataBoundFormElementTag.writeDefaultAttributes(Abs tractDataBoundFormElementTag.java:123)
    at org.springframework.web.servlet.tags.form.Abstract HtmlElementTag.writeDefaultAttributes(AbstractHtml ElementTag.java:408)
    at org.springframework.web.servlet.tags.form.HiddenIn putTag.writeTagContent(HiddenInputTag.java:45)
    at org.springframework.web.servlet.tags.form.Abstract FormTag.doStartTagInternal(AbstractFormTag.java:10 2)
    at org.springframework.web.servlet.tags.RequestContex tAwareTag.doStartTag(RequestContextAwareTag.java:7 9)
    at org.apache.jsp.jsp.wasadmin.citySearch_jsp._jspx_m eth_form_005fhidden_005f0(citySearch_jsp.java:476)
    at org.apache.jsp.jsp.wasadmin.citySearch_jsp._jspSer vice(citySearch_jsp.java:213)
    at org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
    at org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:377)
    at org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:260)
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
    at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:852)
    at org.apache.coyote.http11.Http11Protocol$Http11Conn ectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run( JIoEndpoint.java:489)
    at java.lang.Thread.run(Unknown Source)

    below is my controller code

    @Controller
    @SessionAttributes
    @RequestMapping(value="/citySearch")
    public class WsCityController
    {
    private static final String SEARCH_VIEW_KEY = "redirect:citySearch.html";
    @Autowired
    private WsCityService wscityService;


    @RequestMapping(value = "/citySearch/search", method = RequestMethod.POST)
    public ModelAndView searchCity(@ModelAttribute("WCiForm") WCiForm wsCityFrom, BindingResult result) {
    List <WCiForm> citysearch= wscityService.searchCity(wsCityFrom);
    System.out.println("?????????????????????/ "+ citysearch.toString());
    return new ModelAndView(SEARCH_VIEW_KEY,"citysearch",citysear ch);
    }

    }
    Last edited by manojpal17@gmail.com; Sep 11th, 2012 at 06:23 AM.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •