【发布时间】:2017-04-18 12:01:29
【问题描述】:
我正在尝试将一个对象(或只是 ID)传递给我的控制器,该控制器是从下拉列表中选择的。有2个类:product和category(product包含一个外键,即category的ID)这就是我将其加载到的方式:
@RequestMapping(value="/edit", method=RequestMethod.GET)
public ModelAndView edit(@RequestParam(required=false) Long id) {
ModelAndView mv = new ModelAndView();
if (id == null) {
mv.addObject(new Product());
} else {
mv.addObject("product", productDao.findById(id));
}
mv.addObject("category", categoryDao.findAll());
mv.setViewName("edit-product");
return mv;
}
如您所见,我将对象 category 传递到我的 .jsp 中。我在那里显示了用户可以选择的所有类别。
<select name="category">
<c:forEach items="${category}" var="category">
<option name="category" value="${category.id}">${category.name}</option>
</c:forEach>
</select>
该值应该传递给我的控制器,但我不知道如何传递它。
@RequestMapping(value="/save", method=RequestMethod.POST)
public String save(Product product, Category category, Model model) {
product.setCategory(category); //not working, since the parameter isn't correct
Product result = productDao.save(product);
// set id from create
if (product.getId() == null) {
product.setId(result.getId());
}
【问题讨论】:
标签: java spring jsp spring-mvc model-view-controller