我有一些UI,其中管理员可以更新产品。 在我的dev /测试,我只开了一个窗口,和一切工作,因为它应该。
然后客户端是编辑,他们打开多个标签用于不同的产品,并在节能,这造成了重复字段的问题。
我假定这是一个组合@SessionAttributes
和@ModelAttribute
。 打开最后一个产品,是一个摆在会话,因此,如果您尝试编辑的第一个标签,你会真正有不正确的产品。
是我的方法如下,使用SessionAttribute
和ModelAttribute
不正确的?
我的控制器:
@Controller
@SessionAttributes({ "product" })
public class ProductController {
@RequestMapping(value = "/product/update/{productId}", method = RequestMethod.GET)
public String update(@PathVariable Long productId, Model model) {
Product product;
if (productId == null) {
product = new Product();
} else {
product = Product.find(productId);
}
model.addAttribute("product", product);
return "product/update";
}
@RequestMapping(value = "/product/update", method = RequestMethod.POST)
public String update(@ModelAttribute Product product, BindingResult result,
Model model) {
if (result.hasErrors()) {
return "product/update";
}
product = product.merge();
return "redirect:/product/update/" + product.getId();
}
}