Brak możliwości odczytania obiektu w FTL

0

Cześć,
Robię prosty projekt i natrafiłem na problem, którego nie mogę przeskoczyć. Odwołuję się do kontrolera, który wywołuje zasób do edycji książki (bookEdit), ale na nowo otwartej stronie zaczytuje mi tylko id ksiazki, pozostałych pozycji już nie. Obiekt ksiażki jest odpowiednio przekazywany - nie wiem gdzie może być problem.

@RequestMapping(value = "/bookEdit", method = RequestMethod.POST)
	public ModelAndView getBookEditForm(@RequestParam("id") int bookId, @ModelAttribute("book") Book book,
			BindingResult result) {
		System.out.println("FTL - Edit book - in controller. BOOK ID: " + bookId);

		ArrayList<String> genre = new ArrayList<String>();
		genre.add("Komedia");
		genre.add("Horror");
		genre.add("Wojenny");
		genre.add("Poradnik");
		genre.add("Biografia");

		Map<String, Object> model = new HashMap<String, Object>();
		model.put("genre", genre);

		book = bookService.getSingleBook(bookId);
		model.put("book", book);
		System.out.println("FTL Edit Book Form" + book);
		return new ModelAndView("bookEdit", "model", model);
	}

Fragment z FTL:

<tr>
   <td>Book Id</td><td><#if book.id??>${book.id}</#if></td>
</tr>
<tr>
   <td>ISBN</td><td><#if book.isbn??>${book.isbn}</#if></td>
</tr>
<tr>
   <td>Title</td><td><input type="text" name="title" value="<#if book.title??>${book.title}</#if>"/></td>
</tr>
1

Bo tak masz wrzucone :)

@ModelAttribute("book") Book book

tworzy Ci obiekt book, ktory jest od razu w modelu - odpowiada za to annotacja ModelAttribute

Pozniej wrzucasz do modelu obiekt mapy pod nazwą model i oczekujesz ze to Twoj model a to tylko obiekt dostepny pod taka nazwa. Powinienes pewnie uzyc sygnatury bez drugiego argumentu - "model" :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1