通过 @ResponseBody 在 Spring MVC 中设置 Response Content-Type
使用 Spring MVC 和 @ResponseBody 注解进行开发时,控制非常重要响应的内容类型。在一个实例中,用户遇到了一个问题,即尽管在控制器方法中将内容类型显式设置为 UTF-8,但响应仍以 ISO-8859-1 编码而不是所需的 UTF-8 显示。
解决方案
为了解决这个问题,用户发现@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 响应中正确的内容类型编码?的详细内容。更多信息请关注PHP中文网其他相关文章!