Thymeleaf를 사용하는 Spring MVC의 컨트롤러에서 콤보 상자의 값을 선택하는 방법은 무엇입니까?

Dec 20 2020

보기에 대한 다음 코드가 있습니다.

<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");

이것이 실행되면 사람 필드에 "Nancy"가 올바르게 표시됩니다. 그러나 콤보 상자에는 여성 대신 남성이 표시됩니다. 올바른 값을 표시하는 방법은 무엇입니까?

답변

1 andrewjames Dec 20 2020 at 05:12

selected초기 디스플레이가 올바른지 확인 하려면 Thymeleaf를 사용하여 각 옵션 의 속성 을 처리해야 합니다.

<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 부울 속성입니다 - 이들에 대한 Thymeleaf 문서는 여기 .