在插入数据库后,我试图自动更新视图(此处为名为emprunts
的列表)。我使用Springboot,H2,JPA,Thymeleaf,...
有办法吗?还是在插入后使用Get请求刷新页面?
非常感谢!
HTML /视图
...
<div id="collapseThree" class="collapse" aria-labelledby="headingThree" data-parent="#accordionEmprunts">
<div class="card-body">
<table class="table">
<thead>
<tr>
<th scope="col">Usager</th>
<th scope="col">Exemplaire</th>
<th scope="col">Date de rendu</th>
<th scope="col">Statut</th>
</tr>
</thead>
<tbody>
<th:block th:each="emprunt : ${emprunts}">
<tr>
<!--/*@thymesVar id="emprunt" type="bibliotheque.model.Emprunt"*/-->
<td th:text="${emprunt.getUsager().getMail()}"></td>
<td th:text="${emprunt.getExemplaire().getOeuvre().getTitre()}"></td>
<td th:text="${emprunt.getDaterendu()}"></td>
<td th:text="${emprunt.getStatut()}"></td>
</tr>
</th:block>
</tbody>
</table>
</div>
</div>
...
控制器
@PostMapping
public ResponseEntity<?> newEmprunt(HttpEntity<String> infoEmprunt) throws IOException {
...
repository.save(object);
return new ResponseEntity<>(HttpStatus.CREATED);
}
答案 0 :(得分:1)
如果您的视图技术是百里香,则返回html页面而不是返回ResponseEntity(因为响应实体将以json格式返回数据)并在model属性中添加数据。
有办法吗?还是在插入后使用Get请求刷新页面?
无需刷新页面,只需从如下所示的控制器返回html页面即可。
Emprunt emprunt = repository.save(object);
model.addAttribute("emprunt", emprunt);
return "show"; //show.html page