@ResponseBody 経由で Spring MVC に応答 Content-Type を設定する
Spring MVC と @ResponseBody アノテーションを使用して開発する場合、制御することが重要です応答のコンテンツタイプ。ある例では、コントローラー メソッドで content-type を UTF-8 に明示的に設定しているにもかかわらず、応答が目的の UTF-8 ではなく ISO-8859-1 エンコーディングで表示されるという問題が発生しました。
解決策
この問題を解決するために、ユーザーは、@ResponseBody アノテーション自体が、products 属性を介した content-type の指定をサポートしていることを発見しました。コントローラー メソッドに次の行を追加することで、応答のコンテンツ タイプを明示的に定義できました:
<code class="java">@RequestMapping(value = "ajax/gethelp") @ResponseBody(produces = "text/plain; charset=UTF-8") public String handleGetHelp(Locale loc, String code, HttpServletResponse response) { // ... }</code>
この構成により、コントローラー メソッドは UTF-8 エンコーディングのプレーン テキスト応答を返すことができます。
追加メモ
Spring 3.1 以降を使用しているユーザーの場合、@ResponseBody アノテーションは、応答コンテンツ タイプを設定するためのより簡単なアプローチを提供します。カスタムコンバータ戦略を使用します。
以上がSpring MVC @ResponseBody レスポンスで適切な Content-Type エンコーディングを確保する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。