首页 > 解决方案 > 带有选择(下拉)的表单不显示错误代码

问题描述

我有一个表单,其中包含一个选择以按系统中的 id 列出所有教师,但它无法正常工作。

这是表单的代码部分

以及相应的路径控制器请求

我正在使用 Thymeleaf 和 Spring Boot,因此“pr”对应于教师存储库变量的名称。

<form th:action="@{/professor/updateProfessor/}"  method="post" th:object="${professor}">
        <div class= "form-group">
        <label th:for = "id">Id</label>
        <select th:field="*{id}">
            <option
            th:value = "${id}"
            th:text = "${professor.id}">
            </option>
            </select>
        </div>      
        <input type = "submit" value = "Add Professor">Save</button>
    </form>


@GetMapping(value = {"/selecionaProfessor"})
@ResponseBody
public ModelAndView professorSelecao(){
    ModelAndView atualizaProfessor = new ModelAndView("/atualizaProfessor");
    atualizaProfessor.addObject("Add Professor");
    return atualizaProfessor;
}

@PostMapping(value = {"/selecionaProfessor"})
@ResponseBody
public ModelAndView selecaoProfessor(){
    ModelAndView pagSucesso = new ModelAndView("/pagSucesso");

    pagSucesso.addObject(pr.findAll());
    return pagSucesso;
}

标签: springspring-bootspring-mvcthymeleaf

解决方案


从您的控制器中,按照以下方式将教授列表发送到您的视图。在这里,您将教授列表与“professorList”相关联:

model.addAttribute("professorList", pr.findAll());

然后在你的thymeleaf中访问上面的“professorList”做(类似于)这个:

<option th:each="professor: ${professorList}" th:value="${professor}"> </option>

不是完整的代码,但我希望你有开始的想法。

有关完整示例,请查看此处此处


推荐阅读