【问题标题】:Spring MVC does not save to database from html formSpring MVC 不会从 html 表单保存到数据库
【发布时间】:2015-10-07 19:32:44
【问题描述】:

您好,我已经构建了一个简单的表单,它应该将数据保存到数据库中,但是当我提交表单时,数据并没有保存。我将如何解决这个问题?

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

}

【问题讨论】:

    标签: java spring spring-mvc


    【解决方案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>
    

    【讨论】:

    【解决方案2】:

    要在 DB 中保存表单,请使用 @ModelAtribute(your table) + 您需要定义要在 DB somting 中添加的数据,例如:

    model.addAttribute('productName', productName)
    

    【讨论】:

      猜你喜欢
      • 2017-10-27
      • 2019-01-22
      • 2013-05-27
      • 1970-01-01
      • 2018-07-11
      • 2020-08-29
      • 1970-01-01
      • 2011-12-30
      • 1970-01-01
      相关资源
      最近更新 更多