Cześć! Tworzę aplikację internetową i zmagam się z problemem dodawania produktów do koszyka. Mianowicie chciałbym żeby po naciśnięciu przycisku, produkt został przesłany do kontrolera a strona pozostała jedynie odświeżona. Na ten moment udało mi się dojść do etapu, gdzie użytkownik dodając produkt do koszyka faktycznie zostaje na bieżącej stronie ale dodatkowo w adresie pojawia się parametr ?id=${id_produktu} co przy próbie dodania innego obiektu objawia się duplikatem tego pierwszego. Ach, ale to zawiłe!
Jak pozbyć się tego niechcianego dodatkowego parametru? Bądź jak prawidłowo podejść do takiego problemu?
W każdym razie jeśli chodzi o kod wygląda to tak:
<ul>
<c:forEach var="listValue" items="${movieList}">
<li style="background: orange; max-width: 500px">${listValue.getTitle()} ${listValue.getCast()} <br>
<form:form method="POST">
<input type="hidden" name="movie" value="${listValue.getId()}" />
<input type="hidden" name="currentCategory" value="${listValue.getCategory()}"/>
<input type="submit" value="+" />
</form:form>${listValue.getPrice()}$ <br>
</li>
</br>
</c:forEach>
</ul>
@RequestMapping(value = "/", method = RequestMethod.POST)
public String addMovie(@ModelAttribute("movie") Integer movieId, @RequestParam("currentCategory") String currentCategory) {
shoppingCart.addProduct(movieRepository.getMovieById(movieId));
return "redirect:?category="+currentCategory;
}