如何在SpringMVC和thymeleaf的控制器中选择组合框的值?

ulmd4ohb  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(232)

我有以下视图代码。

<input type="text" name="person" th:value="${person}">

<select name="gender" id="gender" th:value="${gender}">
    <option value="Male">Male</option>
    <option value="Female">Female</option>   
</select>

控制器

modelAndView.addObject("person", "Nancy");
modelAndView.addObject("gender", "Female");

运行此命令时,person字段将正确显示“nancy”。但是组合框显示的是男性而不是女性。如何使其显示正确的值?

oewdyzsn

oewdyzsn1#

你需要用thymeleaf来处理 selected 属性,以确保初始显示正确:

<select name="gender" id="gender" th:value="${gender}">
    <option value="Male" th:selected="${gender} == 'Male'">Male</option>
    <option value="Female" th:selected="${gender} == 'Female'">Female</option>   
</select>

这将生成以下html:

<select name="gender" id="gender" value="Female">
    <option value="Male">Male</option>
    <option value="Female" selected="selected">Female</option>   
</select>

这个 selected 属性是一个html布尔属性-这里有这些属性的文档。

相关问题