Note that there are some explanatory texts on larger screens.

plurals
  1. POJasperException when processing JSP page: Neither BindingResult nor plain target object for bean name 'addprod' available as request attribute
    text
    copied!<p>When trying to access the addprod.jsp page, the following error occurs:</p> <pre><code>org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/jsp/addprod.jsp at line 20 17: &lt;tr&gt; 18: &lt;td align="right" width="20%"&gt;Add a new Product: (Please enter ID for the new product) &lt;/td&gt; 19: &lt;td width="20%"&gt; 20: &lt;form:input path="productID"/&gt; 21: &lt;/td&gt; 22: 23: &lt;td width="60%"&gt; Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:413) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:236) org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:257) org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1183) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:902) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501) javax.servlet.http.HttpServlet.service(HttpServlet.java:617) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378) org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109) org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.ui.SessionFixationProtectionFilter.doFilterHttp(SessionFixationProtectionFilter.java:67) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:277) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175) org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236) org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) root cause java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'addprod' available as request attribute org.springframework.web.servlet.support.BindStatus.&lt;init&gt;(BindStatus.java:141) org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getBindStatus(AbstractDataBoundFormElementTag.java:172) org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getPropertyPath(AbstractDataBoundFormElementTag.java:192) org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getName(AbstractDataBoundFormElementTag.java:158) org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.autogenerateId(AbstractDataBoundFormElementTag.java:145) org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.resolveId(AbstractDataBoundFormElementTag.java:136) org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.writeDefaultAttributes(AbstractDataBoundFormElementTag.java:120) org.springframework.web.servlet.tags.form.AbstractHtmlElementTag.writeDefaultAttributes(AbstractHtmlElementTag.java:379) org.springframework.web.servlet.tags.form.InputTag.writeTagContent(InputTag.java:139) org.springframework.web.servlet.tags.form.AbstractFormTag.doStartTagInternal(AbstractFormTag.java:90) org.springframework.web.servlet.tags.RequestContextAwareTag.doStartTag(RequestContextAwareTag.java:77) org.apache.jsp.WEB_002dINF.jsp.addprod_jsp._jspx_meth_form_005finput_005f0(addprod_jsp.java:306) org.apache.jsp.WEB_002dINF.jsp.addprod_jsp._jspService(addprod_jsp.java:114) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:236) org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:257) org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1183) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:902) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501) javax.servlet.http.HttpServlet.service(HttpServlet.java:617) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378) org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109) org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.ui.SessionFixationProtectionFilter.doFilterHttp(SessionFixationProtectionFilter.java:67) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:277) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175) org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236) org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) </code></pre> <p>Product.java</p> <pre><code>package springapp1.domain; import java.io.Serializable; public class Product implements Serializable { static final long serialVersionUID = -1L; private int id; private String description; private Double price; public void setId(int i) { id = i; } public int getId() { return id; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public Double getPrice() { return price; } public void setPrice(Double price) { this.price = price; } public String toString() { StringBuffer buffer = new StringBuffer(); buffer.append("Description: " + description + ";"); buffer.append("Price: " + price); return buffer.toString(); } } </code></pre> <p>ProductAddFormController.java</p> <pre><code>package springapp1.web; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.SimpleFormController; import org.springframework.web.servlet.view.RedirectView; import springapp1.service.ProductAdd; import springapp1.service.ProductManager; public class ProductAddFormController extends SimpleFormController { /** Logger for this class and subclasses */ protected final Log logger = LogFactory.getLog(getClass()); private ProductManager productManager; public ModelAndView onSubmit(Object command) throws ServletException { int prodid = ((ProductAdd) command).getProductID(); logger.info("Created new product id by " + prodid + "."); String prodname = ((ProductAdd) command).getProductname(); logger.info("Created new product name by " + prodname + "."); double prodprice = ((ProductAdd) command).getProductprice(); logger.info("Created new price by " + prodprice + "."); productManager.addproduct(prodid, prodname, prodprice); logger.info("returning from ProductEAddForm view to " + getSuccessView()); return new ModelAndView(new RedirectView(getSuccessView())); } protected Object formBackingObject(HttpServletRequest request) throws ServletException { ProductAdd AddProduct = new ProductAdd(); AddProduct.setProductname(""); AddProduct.setProductprice(0); return AddProduct; } public void setProductManager(ProductManager productManager) { this.productManager = productManager; } public ProductManager getProductManager() { return productManager; } } </code></pre> <p>addprod.jsp</p> <pre><code>&lt;%@ include file="/WEB-INF/jsp/include.jsp" %&gt; &lt;%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %&gt; &lt;html&gt; &lt;head&gt; &lt;link rel="stylesheet" type="text/css" href="css/mystyle.css" /&gt; &lt;title&gt;&lt;fmt:message key="title"/&gt;&lt;/title&gt; &lt;style&gt; .error { color: blue; } &lt;/style&gt; &lt;/head&gt; &lt;body&gt; &lt;h1&gt;&lt;fmt:message key="addprod.heading"/&gt;&lt;/h1&gt; &lt;form:form method="post" commandName="addprod"&gt; &lt;table width="95%" bgcolor="D8D8D8" border="0" cellspacing="0" cellpadding="5"&gt; &lt;tr&gt; &lt;td align="right" width="20%"&gt;Add a new Product: (Please enter ID for the new product) &lt;/td&gt; &lt;td width="20%"&gt; &lt;form:input path="productID"/&gt; &lt;/td&gt; &lt;td width="60%"&gt; &lt;form:errors path="productID" cssClass="error"/&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td align="right" width="20%"&gt;Add a new Product: (Please enter name for the new product) &lt;/td&gt; &lt;td width="20%"&gt; &lt;form:input path="productname"/&gt; &lt;/td&gt; &lt;td width="60%"&gt; &lt;form:errors path="productname" cssClass="error"/&gt; &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td align="right" width="20%"&gt;Add Price: (Specify price in number) &lt;/td&gt; &lt;td width="20%"&gt; &lt;form:input path="productprice"/&gt; &lt;/td&gt; &lt;td width="60%"&gt; &lt;form:errors path="productprice" cssClass="error"/&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;br&gt; &lt;input type="submit" align="center" value="Add"&gt; &lt;/form:form&gt; &lt;a href="&lt;c:url value="hello.htm"/&gt;"&gt;Home&lt;/a&gt; &lt;/body&gt; &lt;/html&gt; </code></pre> <p>include.jsp</p> <pre><code>&lt;%@ page session="false"%&gt; &lt;%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %&gt; &lt;%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %&gt; &lt;%@ taglib prefix='security' uri='http://www.springframework.org/security/tags' %&gt; </code></pre> <p>What Iam missing? Have gotten a login-form using the exact same technique to work with no problems, so this error really got me. trying to solve this problem since one week. Thank you</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload