我想在页面上显示简单的文本,因此我想将 Content-Type
作为 text/plain
返回。
使用下面的代码,我在页面上看到纯文本,但是返回的 Content-Type
仍然是 text/html
。
我该如何解决这个问题?
注意:我在 Spring MVC 中使用 Tiles。返回的“m.health”指向映射到仅包含以下 1 行的 health.jsp 的切片 def。
更新说明:我无法控制 HTTP header 请求中的 Content-Type
或 Accept
值。无论收到什么样的请求,我都希望我的响应返回 text/plain
。
Controller :
@RequestMapping(value = "/m/health", method = RequestMethod.GET, headers = "Accept=*")
public String runHealthCheck(HttpServletResponse response, HttpServletRequest request, Model model) throws Exception {
model = executeCheck(request, response, TEMPLATE, false, model);
model.addAttribute("accept", "text/plain");
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
return "m.health";
}
JSP:
${status}
最佳答案
如果您使用 @ResponseBody 额外注释您的方法,它应该可以工作:
@RequestMapping(value = "/",
method = RequestMethod.GET)
@ResponseBody
public String plaintext(HttpServletResponse response) {
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
return "TEXT";
}
关于java - Spring MVC 3 返回内容类型 : text/plain,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8951534/