我想填充使用模型属性的对象。它从JSP返回到控制器null
。春天MVC不填充模型属性
<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>
@Autowired
private ProductService productService;
@RequestMapping(value = "addProduct", method = RequestMethod.GET)
public ModelAndView productForm(@ModelAttribute("product") Product product){
return new ModelAndView("addProduct"));
}
@RequestMapping(value = "addProduct", method = RequestMethod.POST)
public ModelAndView insertProduct(@ModelAttribute("product") Product product){
System.out.println(product.getProductName() + " : " + product.getParentId() + " : " + product.getCategoryId());
productService.insert(product);
return new ModelAndView("success");
}
在使用modelAttribute
得到的值回控制器,它的到来为null
。我究竟做错了什么?
另外还有一件事我正在做同样的事情在我的Catergory class
,它工作得很好。
无法理解这里发生了什么问题。
嗨,我试过由u提供的解决方案,但它仍然不工作,没有想法为什么它不工作,直到它在sysout行输出null。但我在我的另一个班级做同样的工作很好。 – FriGaTe 2014-09-28 13:28:39
我假设你在提交之前在表单中输入了数据?你的Product类有没有定义的arg构造函数? – schn0573 2014-09-29 13:19:57
嗨,我有我的产品类中定义的默认和参数构造仍然不工作... – FriGaTe 2014-10-06 15:56:49