2015-11-27 24 views
0

早上好。Spring MVC - POST请求后奇怪的重定向

我的控制器具有这种方法来保存到数据库

@RequestMapping(value = { path+"/new" } , method = RequestMethod.POST) 
    public String saveLight(@Valid Luce luce, BindingResult result, ModelMap model, final RedirectAttributes redirectAttributes) { 

     if (result.hasErrors()) { 
      return path + "/luce"; 
     } 
     // Add message to flash scope 
     redirectAttributes.addFlashAttribute("css", "success"); 
     redirectAttributes.addFlashAttribute("msg", "Luce aggiunta correttamente"); 
     luceService.saveLuci(luce); 
     return "redirect:/"+path+"/"+luce.getIdLuce(); 
     } 

getIdLuce()是模型卢斯的吸气剂。当我提交表单时,信息正确地发送到数据库,但我被重定向到/ lights/0,因为luce.getIdLuce()返回0(或null)值...

我没有保存输入值在idLuce的,这是一个简单的自动递增值

@NotNull 
@Id 
@Column(name="id_luce", unique = true, nullable = false) 
public Integer getIdLuce() { 
    return idLuce; 
} 

我做错了什么?谢谢

+0

你得到什么错误? – reos

回答

1

@GeneratedValue注释您的实体对象。这样,当你坚持你的对象时,属性'idLuce'将被设置。

@NotNull 
@Id 
@GeneratedValue 
@Column(name="id_luce", unique = true, nullable = false) 
public Integer getIdLuce() { 
    return idLuce; 
} 
+0

忘了把OK标志!谢谢! – besmart