Thymeleaf ile Spring MVC'de denetleyicideki birleşik kutunun değeri nasıl seçilir?

Dec 20 2020

Görünüm için aşağıdaki koda sahibim.

<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>

Kontrolör

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

Bu çalıştığında, kişi alanı doğru şekilde "Nancy" görüntüler. Ancak, açılan kutuda kadın yerine erkek görüntülenir. Doğru değeri göstermesi nasıl sağlanır?

Yanıtlar

1 andrewjames Dec 20 2020 at 05:12

selectedİlk görüntünün doğru olduğundan emin olmak için her seçeneğin özniteliğini işlemek için Thymeleaf'i kullanmanız gerekir :

<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>

Bu, aşağıdaki HTML'yi oluşturur:

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

selectedNiteliği HTML boole niteliktir - bunlar için Thymeleaf dokümantasyonudur burada .