插入后如何自动更新视图

时间:2019-03-10 13:20:53

标签: java spring spring-boot spring-mvc spring-data-jpa

在插入数据库后,我试图自动更新视图(此处为名为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);
}

1 个答案:

答案 0 :(得分:1)

如果您的视图技术是百里香,则返回html页面而不是返回ResponseEntity(因为响应实体将以json格式返回数据)并在model属性中添加数据。

有办法吗?还是在插入后使用Get请求刷新页面?

无需刷新页面,只需从如下所示的控制器返回html页面即可。

Emprunt emprunt = repository.save(object);    
model.addAttribute("emprunt", emprunt);    
return "show"; //show.html page