Spring 表格不适用于 jsp
Spring form doesn't work on jsp
我是 spring 框架的新手。我正在尝试使用 MySQL jdbc 在 spring 中制作简单的 crud。对于数据映射,我使用了 spring 形式。每当我尝试使用 spring 形式时,它都会显示错误
Error is here
每当我删除 spring 表格并使用普通表格时,它看起来没问题,但在使用 spring 表格时显示错误。错误显示 java.lang.IllegalStateException:Bean 名称 'userData' 的 BindingResult 和普通目标对象都不能用作请求属性
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";
}
}
谢谢!希望得到好的回应
<form:form modelAttribute="userData">
//rest of your form
</form:form>
在您的 index.jsp 而不是当前版本中试试这个。
我是 spring 框架的新手。我正在尝试使用 MySQL jdbc 在 spring 中制作简单的 crud。对于数据映射,我使用了 spring 形式。每当我尝试使用 spring 形式时,它都会显示错误 Error is here
每当我删除 spring 表格并使用普通表格时,它看起来没问题,但在使用 spring 表格时显示错误。错误显示 java.lang.IllegalStateException:Bean 名称 'userData' 的 BindingResult 和普通目标对象都不能用作请求属性
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";
}
}
谢谢!希望得到好的回应
<form:form modelAttribute="userData">
//rest of your form
</form:form>
在您的 index.jsp 而不是当前版本中试试这个。