Menetapkan Jenis Kandungan Respons dalam Spring MVC melalui @ResponseBody
Apabila membangun dengan Spring MVC dan anotasi @ResponseBody, adalah penting untuk mengawal jenis kandungan respons. Dalam satu keadaan, pengguna menghadapi isu apabila respons dipaparkan dengan pengekodan ISO-8859-1 dan bukannya UTF-8 yang dikehendaki, walaupun secara eksplisit menetapkan jenis kandungan kepada UTF-8 dalam kaedah pengawal.
Penyelesaian
Untuk menyelesaikan isu ini, pengguna mendapati bahawa anotasi @ResponseBody itu sendiri menyokong penentuan jenis kandungan melalui atribut produces. Dengan menambahkan baris berikut pada kaedah pengawal, mereka dapat mentakrifkan secara eksplisit jenis kandungan respons:
<code class="java">@RequestMapping(value = "ajax/gethelp") @ResponseBody(produces = "text/plain; charset=UTF-8") public String handleGetHelp(Locale loc, String code, HttpServletResponse response) { // ... }</code>
Konfigurasi ini membenarkan kaedah pengawal mengembalikan respons teks biasa dengan pengekodan UTF-8 , seperti yang dimaksudkan.
Nota Tambahan
Untuk pengguna yang menggunakan Spring 3.1 dan ke atas, anotasi @ResponseBody menyediakan pendekatan yang lebih mudah untuk menetapkan jenis kandungan respons berbanding dengan menggunakan strategi penukar tersuai.
Atas ialah kandungan terperinci Bagaimana untuk Memastikan Pengekodan Jenis Kandungan yang Betul dalam Spring MVC @ResponseBody Responses?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!