Bagaimana cara memilih nilai kotak kombo di pengontrol di Spring MVC dengan Thymeleaf?

Dec 20 2020

Saya memiliki kode berikut untuk tampilan.

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

Kontroler

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

Saat ini berjalan, bidang orang dengan benar menampilkan "Nancy". Tapi kotak kombo menampilkan laki-laki, bukan perempuan. Bagaimana cara membuatnya menunjukkan nilai yang benar?

Jawaban

1 andrewjames Dec 20 2020 at 05:12

Anda perlu menggunakan Thymeleaf untuk menangani selectedatribut setiap opsi, untuk memastikan tampilan awal benar:

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

Ini menghasilkan HTML berikut:

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

The selectedatribut adalah atribut boolean HTML - dokumentasi Thymeleaf untuk ini adalah di sini .