2012-03-03 2 views
0

JasperException処理するJSPページは:addprod.jspページにアクセスしようとするとBindingResultもBean名要求属性として利用できる「addprod」のプレーンなターゲットオブジェクトのいずれもが、次のエラーが発生し

org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/jsp/addprod.jsp at line 20 

17:  <tr> 
18:  <td align="right" width="20%">Add a new Product: (Please enter ID for the new product) </td> 
19:   <td width="20%"> 
20:   <form:input path="productID"/> 
21:   </td> 
22:   
23:   <td width="60%"> 


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.<init>(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) 

Product.java 01 addprod.jsp

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(); 
    } 
} 

ProductAddFormController.java

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; 
    } 

} 
<%@ include file="/WEB-INF/jsp/include.jsp" %> 
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> 

<html> 
<head> 
<link rel="stylesheet" type="text/css" href="css/mystyle.css" /> 
    <title><fmt:message key="title"/></title> 
    <style> 
    .error { color: blue; } 
    </style> 
</head> 

<body> 
<h1><fmt:message key="addprod.heading"/></h1> 
<form:form method="post" commandName="addprod"> 
    <table width="95%" bgcolor="D8D8D8" border="0" cellspacing="0" cellpadding="5"> 
     <tr> 
     <td align="right" width="20%">Add a new Product: (Please enter ID for the new product) </td> 
     <td width="20%"> 
      <form:input path="productID"/> 
     </td> 

     <td width="60%"> 
      <form:errors path="productID" cssClass="error"/> 
     </td> 
    </tr> 
    <tr> 
     <td align="right" width="20%">Add a new Product: (Please enter name for the new product) </td> 
     <td width="20%"> 
      <form:input path="productname"/> 
     </td> 

     <td width="60%"> 
      <form:errors path="productname" cssClass="error"/> 
     </td> 
    </tr> 
     <tr> 
     <td align="right" width="20%">Add Price: (Specify price in number) </td> 
     <td width="20%"> 
      <form:input path="productprice"/> 
     </td> 

     <td width="60%"> 
      <form:errors path="productprice" cssClass="error"/> 
     </td> 
    </tr> 
    </table> 
    <br> 
    <input type="submit" align="center" value="Add"> 
</form:form> 
<a href="<c:url value="hello.htm"/>">Home</a> 
</body> 
</html> 

include.jsp

<%@ page session="false"%> 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 
<%@ taglib prefix='security' uri='http://www.springframework.org/security/tags' %> 

はIAMは何が欠けていますか?まったく同じテクニックを使って問題なく動作するログインフォームを手に入れたので、このエラーは本当に私には分かりました。この問題を1週間以来解決しようとしています。ありがとうございました

答えて

0

私はあなたのフォーム:入力は製品の属性を指しているはずだと思います:id、description、price

関連する問題

 関連する問題