2015-11-27 2 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() является добытчиком модели Luce. Когда я отправляю форму, информация отправляется в БД правильно, но я перенаправлен на/lights/0, так как luce.getIdLuce() возвращает 0 (или нулевое) значение ...

Я не сохраняю входное значение из 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

Смежные вопросы