填写表格后清空数据 table thymeleaf 和 spring-boot

Empty data table thymeleaf and spring-boot after filling form

我在使用 thymeleaf 时遇到问题,spring 在成功填写表单后启动以在 table 中显示数据。这是我所做的:

表格:

<div class="container">
        <div class="row">
            <div class="col-md-12">
                <div class="panel panel-default">
                    <div class="panel-heading">
                        <h3 class="panel-title">Cargar Agenda</h3>
                    </div>
                    <div th:if="${error != null}" th:text="${error}" class="alert alert-danger" role="alert">
                    </div>
                    <div class="panel-body">
                        <form th:action="@{/guardar}" method="POST">
                            <div class="form-group">
                                <input type="text" class="form-control" name="nombre" id="nombre" th:value="${nombre}" placeholder="Nombre">
                            </div>
                            <div class="form-group">
                                <input type="text" class="form-control" name="apellido" id="apellido" th:value="${apellido}" placeholder="Apellido">
                            </div>
                            <div class="form-group">
                                <input type="text" class="form-control" name="telefono" id="telefono" th:value="${telefono}" placeholder="Teléfono">
                            </div>
                            <div class="form-group">
                                <input type="text" class="form-control" name="email" id="email" th:value="${email}" placeholder="E-mail">
                            </div>
                            <div class="form-group">
                                <input type="text" class="form-control" name="domicilio" id="domicilio" th:value="${domicilio}" placeholder="Domicilio">
                            </div>
                            <div class="d-grid gap-2">
                                <button type="submit" class="btn btn-primary">Guardar</button>
                            </div>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>

Table:

<div class="table-responsive">
    <table class="table table-striped table-bordered table-hover table-sm">
        <thead class="thead-dark">
            <tr class="bg-primary" scope="row">
                <th scope="col">Nombre</th>
                <th scope="col">Apellido</th>
                <th scope="col">Teléfono</th>
                <th scope="col">E-mail</th>
                <th scope="col">Domicilio</th>
            </tr>
        </thead>
        <tbody>
            <tr scope="row" th:each="agenda : ${listaAgendas}">
                <td scope="col" th:text="${agenda.nombre}"></td>
                <td scope="col" th:text="${agenda.apellido}"></td>
                <td scope="col" th:text="${agenda.telefono}"></td>
                <td scope="col" th:text="${agenda.email}"></td>
                <td scope="col" th:text="${agenda.domicilio}"></td>
            </tr>
        </tbody>
    </table>
</div>

控制器后映射:

    @PostMapping("/guardar")
    public String guardar(ModelMap map, @RequestParam String nombre, @RequestParam String apellido,
                         @RequestParam Long telefono, @RequestParam String email,
                         @RequestParam String domicilio) {
        try {
            agendaService.crear(nombre, apellido, telefono, email, domicilio);
        } catch (AgendaException ex) {
            map.put("error", ex.getMessage());
            map.put("nombre", nombre);
            map.put("apellido", apellido);
            map.put("telefono", telefono);
            map.put("email", email);
            map.put("domicilio", domicilio);
            return "carga";
        }
        return "lista-agendas";
    }

控制器获取映射:

    @GetMapping("/lista-agendas")
    public String listaAgendas(ModelMap map) {
        List<Agenda> listaAgendas = agendaService.listaAgendas();
        map.put("listaAgendas", listaAgendas);
        return "lista-agendas";
    }

lista-agendas-html render this by his self

Filled form

但是lista-agendas.html点击表单按钮后,显示table没有数据:

no data in the table after clicking form button to submit

已解决!刚刚替换为@PostMapping guardar 方法

return "lista-agendas";

与:

return "redirect:/lista-agendas";