2017-11-18 115 views
2

我是Spring框架的新手。我正在嘗試使用MySQL jdbc在春季製作簡單的垃圾郵件。對於數據映射,我使用了彈簧表單。每當我嘗試使用彈簧形式它顯示一個錯誤 Error is hereSpring表單在jsp上不起作用

每當我刪除彈簧形式和使用正常形式它看起來不錯,但使用彈簧形式時顯示錯誤。錯誤說java.lang.IllegalStateException:無論BindingResult也不是爲bean名稱 '用戶數據' 可以作爲請求屬性平原目標對象

header.jsp中

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<%@taglib prefix="form" uri="http://www.springframework.org/tags/form" %> 

<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>JSP Page</title> 
     <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 

    </head> 
    <body> 
     <nav class="navbar navbar-inverse"> 
      <div class="container-fluid"> 
       <div class="navbar-header"> 
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar"> 
         <span class="icon-bar"></span> 
         <span class="icon-bar"></span> 
         <span class="icon-bar"></span> 
        </button> 
        <a class="navbar-brand" href="#">SpringCRUDDemo</a> 
       </div> 
       <div class="collapse navbar-collapse" id="myNavbar"> 
        <ul class="nav navbar-nav"> 
         <li><a href="<c:url value='/'/>">Home</a></li> 
         <li><a href="<c:url value='/view/'/>">View</a></li> 
         <li><a href="#">Update</a></li> 
         <li><a href="#">Delete</a></li> 
        </ul> 
        <ul class="nav navbar-nav navbar-right"> 
         <li><a href="#"><span class="glyphicon glyphicon-user"></span> Sign Up</a></li> 
         <li><a href="#"><span class="glyphicon glyphicon-log-in"></span> Login</a></li> 
        </ul> 
       </div> 
      </div> 
     </nav> 

的index.jsp

<%@include file="./shared/header.jsp" %> 

<div class="container"> 
    <form:form commandName="userData" action="#" method="post" enctype="multipart/form-data"> 
     <label for="firstname" class="label">Enter your first name</label> 
     <form:input path="firstName"/> 
    </form:form> 
</div> 

servlet-class

@Controller 

public class DefaultController { 

    @Autowired 
    CustomerDaoImp customerDaoImp; 

    @RequestMapping(value = "/", method = RequestMethod.GET) 
    public String index() { 
     return "index"; 
    } 

    @RequestMapping(value = "/insert", method = RequestMethod.POST) 
    public String save(@ModelAttribute("userData") Customer customer) { 
     try { 
      customerDaoImp.insert(customer); 
     } catch (ClassNotFoundException | SQLException ex) { 
      System.out.println(ex.getMessage()); 
     } 

     return "redirect:/index"; 
    } 

    @RequestMapping(value = "/view", method = RequestMethod.GET) 
    public String viewCustomer() { 
     return "view-customer"; 
    } 
} 

謝謝!希望得到好的迴應

+0

請嘗試在表單中添加'form:form action =「insert」',並從中刪除'enctype =「multipart/form-data」'。 –

回答

1
<form:form modelAttribute="userData"> 

    //rest of your form 

</form:form> 

在你的index.jsp而不是當前版本中試試這個。