Wpis z mikrobloga

Hej, mam mały problem z nullami w springu.

Przekazuje z jednego kontrolera parametry do widoku

HotelController.java

redirectAttributes.addFlashAttribute("book", bookingToTake);
redirectAttributes.addFlashAttribute("room", roomToTake);
redirectAttributes.addFlashAttribute("price", new Price());
return "redirect:/pay";

W widoku /pay wszystkie te paramtery mogę wyświetlić i w ogóle jest wszytko w porządku.
Lecz gdy chce wysłać te dane do innego kontrolera (PaymentController.java) przez

pay.html



Check out with

*Pay**Pal*

to w kontrolerze dostaje nulle.

PaymentController.java

@RequestMapping(value="/pay", method=RequestMethod.POST)
public String pay(@ModelAttribute Room room, @ModelAttribute Booking book,HttpServletRequest request){

i właśnie tutaj obiekt room i book mają wszystkie pola ustawione na null.

Czy ktoś może wie o co chodzi i jak to naprawić?
#spring #java #springmvc
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@AndekQR: Nie wiadomo tak naprawdę co ten formularz wysyła za obiekt, stąd pewnie te nulle. Proponowałbym stworzyć dedykowaną klasę z polami z tego formularza i obiekt tej klasy wysyłać w formularzu + obiekt tej klasy przyjmować w metodzie obsługującej żądanie ;)
  • Odpowiedz
@AndekQR: no bo prawdopodobnie odczytujesz parametry z query stringa a on jest tylko jak wyslesz formularz get'em dla posta masz body w którym musisz wysłać wartości i zeby je wysłać musisz mieć pola w formularzu i te pola muszą mieć atrybut value
  • Odpowiedz