Я пытаюсь передать информацию из списка чабрецов и пытаюсь добавить ее в базу данных.
Я получаю данные из tmdb, и они будут меняться, поэтому я отображаю информацию, полученную в конечной точке "/ LatestMovies", эта информация не сохраняется в БД, и эфир должен быть. поэтому я пытаюсь добавить кнопку сохранения для клиента, чтобы добавить фильм в списке. (это просто, у него просто есть movieid и moviename)
Показывать фильмы, перечисленные у меня нет проблем, и он работает нормально, но я получаю сообщение об ошибке, когда я добавляю скрытую форму. Текущий код у меня есть это:
<div class="container">
<table class="table table-hover">
<tr>
<th>Id</th>
<th>Name</th>
</tr>
<tr th:each="LatestMovies : ${latestMovies}">
<td th:text="${LatestMovies.id}"></td>
<td th:text="${LatestMovies.movieName}"></td>
<td>
<form action="#" th:action="@{/LatestMovies}" th:object="${addMovies}" method="post">
<p><input type="hidden" th:field="*{id}" th:attr="value = ${LatestMovies.id}" /></p>
<p><input type="hidden" th:field="*{movieName}" th:attr="value = ${LatestMovies.movieName}" /></p>
<p><input type="submit" value="Submit" /></p>
</form>
</td>
</tr>
</table>
@Controller
public class LatestMoviesController {
@Autowired
private LatestMoviesDao listOfMovies;
@Autowired
private savedMoviesDao movieRepo;
@GetMapping("/LatestMovies")
public String prueba(Model model) {
TmdbMovies movies = new TmdbApi("22914f477aaa3e7f86c6f5434df8d1eb").getMovies();
ResultsPage<MovieDb> movie = movies.getPopularMovies("en", 1);
for(int i=0; i <= 19; i++){
int movieId = movie.getResults().get(i).getId();
String movieName = movie.getResults().get(i).toString();
listOfMovies.save(new LatestMovies(movieId, movieName));
}
model.addAttribute("latestMovies", listOfMovies.findAll());
return "index";
}
@PostMapping("/LatestMovies")
public String save(@ModelAttribute("addMovies") Model model, SavedMovies addMovies) {
movieRepo.save(addMovies);
return "index";
}
}
Спасибо заранее