2017-11-18 219 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而不是当前版本中试试这个。