Я обновляю содержимое таблицы:
<tr id="rows" th:each="entity: ${entities}">
<!-- ... -->
</tr>
и на стороне сервера:
@RequestMapping(value = "/replace", method = RequestMethod.GET)
public String replace(Model model) {
model.addAttribute("entities", entities);
return "/ :: #rows";
}
, вызывая метод с помощью:
$.get('/replace', function(fragment) {
// fragment gives me all rows of the table
}
, который работаеткак и ожидалось.Однако я не хочу обновлять все строки каждый раз, а только одну, поэтому моя идея заключалась в том, чтобы использовать динамический id
следующим образом:
<tr th:id="'row' + ${entity.id}" th:each="entity, iterStat: ${entities}">
<!-- ... -->
</tr>
и на стороне сервера:
@RequestMapping(value = "/replace", method = RequestMethod.GET)
public String replace(@RequestParam("id") int id, Model model) {
model.addAttribute("entities", entities);
return "/ :: #row" + id;
}
вызов метода с:
$.get('/replace', {id: id} function(fragment) {
// fragment is empty
}
, но это не работает.Глядя на HTML-код и серверную часть, id
является правильным.Разве нельзя использовать th:id
?Какой будет обходной путь, если я хочу обновить только одну строку в таблице, а не все строки?Спасибо.
Я тоже пробовал то же самое с th:fragment
- работает без ${entity.id}
и не с.