Я хотел бы обновить div на странице .jsp после отправки формы. Таким образом, поток будет выглядеть так: Представленная форма -> Функция Ajax вызывается и указывает на URL-адрес метода моего контроллера -> Обработана функция и добавляет новый атрибут к модели -> Вернуть один и тот же вид. Проблема в том, что представление не обновляется новыми атрибутами.Как обновить один и тот же вид (.jsp) с помощью model.addAttributes? | Spring MVC
Это называется после отправки.
$("#search-form").submit(function(){
var search = $("#search-bar-input").val();
$.ajax({
url : 'search',
method : 'get',
data : {search : search},
async : false,
complete : function(data) {
console.log(data.responseText);
}
});
})
Тогда он идет сюда.
@RequestMapping(value = "/search", method = RequestMethod.GET)
public String search(ModelMap model, @RequestParam String search) {
System.out.println(search);
List<Film> films = filmJDBCTemplate.getFilmByName(search);
model.addAttribute("films", films);
return "home";
}
Затем я заметил, что в этой функции он снова появляется.
@RequestMapping(value = "/", method = RequestMethod.GET)
public String displayHome(ModelMap model, HttpSession session) {
// Display all genres
List<Genre> listGenre = genreJDBCTemplate.listGenres();
List<String> listGenreNom = new ArrayList<String>();
for (Genre g : listGenre){
listGenreNom.add(g.getNom());
}
model.addAttribute("listGenreNom", listGenreNom);
String nom = accessData.getClient().getNomFamille() + " " + accessData.getClient().getPrenom();
model.addAttribute("nom", nom);
return "home";
}
Это часть страницы jsp, которую необходимо обновить.
<div id="movies-div">
<c:forEach var="film" items="${films}">
<div class="movie">
<div class="poster-div">
<img class="poster" src="${film.poster}" />
</div>
<div class="title-div">
${film.titre}
</div>
</div>
</c:forEach>
</div>
Это, безусловно, почему моя страница не обновляется. Я искал несколько дней, как решить эту проблему, но я не мог найти никаких подобных случаев для моего.
Пожалуйста, предложите мне некоторые способы сделать это. Большое спасибо !
хорошо вы, вероятно, нужно добавить код в 'полной: функции (данные) { console.log (data.responseText); } ' –
, так что это невозможно сделать так, как я сделал выше? Я имею в виду использование mode.addAtributes ("newAttribute", newAttribute) и возврат одного и того же представления? – nytochin
Я так не думаю. JSP уже предоставлен. Являются ли правильные данные в 'data.responseText'? –