Java Spring MVC未填充模型属性

Java Spring MVC未填充模型属性,java,spring,spring-mvc,Java,Spring,Spring Mvc,我正在尝试使用模型属性填充对象。它从JSP向控制器返回null <form:form method="post" action="addProduct" modelAttribute="product"> <table> <tr> <td>Product Name :</td> <td><form:input path="productName"/

我正在尝试使用模型属性填充对象。它从JSP向控制器返回null

<form:form method="post" action="addProduct" modelAttribute="product">
    <table>
        <tr>
            <td>Product Name :</td>
            <td><form:input path="productName"/></td>
        </tr>
        <tr>
            <td>Parent Product Id:</td>
            <td><form:input path="parentId"/></td>
        </tr>
        <tr>
            <td>Category Id:</td>
            <td><form:input path="categoryId"/></td>
        </tr>
        <tr>
            <td colspan="2"><input type="submit" value="AddProduct"></td>
        </tr>
    </table>
</form:form>
在使用modelAttribute将值返回控制器时,它将显示为null。我做错了什么

还有一件事,我在我的问答课上也在做同样的事情,那就是做得非常好


无法理解此处的错误。

看起来您并不是在向ModelAndView添加模型

这将向表单传递一个新产品对象:

@RequestMapping(value = "addProduct", method = RequestMethod.GET)
public ModelAndView productForm(){
    return new ModelAndView("addProduct", "product", new Product());
}

最后我找到了解决我问题的办法

在我的pojo类中,我为setter指定了不同的名称,因此它无法运行

例: 在我的JSP中,我给出了

<form:input path="productName"/>
其中,我的路径名是productName,在我的POJO类中,我为变量指定了相同的名称,但我的setter名称不同

因此,为了设置属性值,Spring将查找名为set+attributeName的setter

在上述情况下,它将被设置为+productName

我的错误是我的二传手的名字叫setName

希望这能帮助像我这样的春季新人。
谢谢

您好,我尝试了u提供的解决方案,但它仍然不起作用,不知道为什么它不起作用,直到它在sysout行上打印null。但我在我的另一堂课上也做了同样的事情,工作正常。我想你在提交表格之前就已经在表格中输入了数据了吧?您的产品类定义了无参数构造函数吗?嗨,我的产品类中定义了默认和参数构造函数,但它仍然不工作。。。
<form:input path="productName"/>