您好我已经构建了一个简单的表单,应该将数据保存到数据库,但是当我提交表单时,数据不会被保存。我该如何解决这个问题?
在jsp中的表单
<form method="post">
Product Name:<br>
<input type="text" id="productName" name="product name">
<br>
Last name:<br>
<input type="text" id="productSerial" name="serial number">
<input type="submit" value="Submit">
</form>
控制器
@RequestMapping(value = "/saveNewContact", method = RequestMethod.POST)
public ModelAndView saveContact(@RequestParam("productName") String productName,@RequestParam("productSerial") int productSerial) {
Product product = new Product();
product.setName(productName);
product.setSerial(productSerial);
ProductDao.saveNewProduct(product);
return new ModelAndView("redirect:/");
}
DAO实施
public void saveNewProduct(Product product) {
jdbcTemplate = new JdbcTemplate(dataSource);
String sql = "INSERT INTO product (name, serial)"
+ " VALUES (?, ?)";
jdbcTemplate.update(sql, product.getName(), product.getSerial());
}
答案 0 :(得分:1)
您的视图中没有任何内容告诉控制器JSP文件中的哪些字段与您的模型相对应。您可以使用Spring form tags:
来完成此操作<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<form:form method="post">
Product Name:<br>
<form:input type="text" id="productName" name="product name" path="productName" />
<br>
Last name:<br>
<form:input type="text" id="productSerial" name="serial number" path="productSerial" />
<input type="submit" value="Submit">
</form:form>
答案 1 :(得分:0)
在DB中保存表单使用@ModelAtribute(你的表)+你需要在数据库中定义你要添加的数据,如:
GET /javascripts/myScript1.js?_=1437207405398 200 2.356 ms - 22524
GET /javascripts/myScript2.js?_=1437207405399 200 1.873 ms - 29695