Como selecionar o valor de uma caixa de combinação no controlador no Spring MVC com Thymeleaf?
Dec 20 2020
Eu tenho o seguinte código para o modo de exibição.
<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>
Controlador
modelAndView.addObject("person", "Nancy");
modelAndView.addObject("gender", "Female");
Quando isso é executado, o campo de pessoa exibe corretamente "Nancy". Mas a caixa de combinação exibe masculino em vez de feminino. Como fazer mostrar o valor correto?
Respostas
1 andrewjames Dec 20 2020 at 05:12
Você precisa usar o Thymeleaf para lidar com o selected
atributo de cada opção, para garantir que a exibição inicial esteja correta:
<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>
Isso gera o seguinte HTML:
<select name="gender" id="gender" value="Female">
<option value="Male">Male</option>
<option value="Female" selected="selected">Female</option>
</select>
O selected
atributo é um atributo booleano HTML - a documentação do Thymeleaf para eles está aqui .
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
Christopher Nolan uma vez se arrependeu de ter lido o 'roteiro de Pulp Fiction' de Quentin Tarantino