java - Spring MVC 3 返回内容类型 : text/plain

标签 java spring-mvc content-type apache-tiles

我想在页面上显示简单的文本,因此我想将 Content-Type 作为 text/plain 返回。

使用下面的代码,我在页​​面上看到纯文本,但是返回的 Content-Type 仍然是 text/html

我该如何解决这个问题?

注意:我在 Spring MVC 中使用 Tiles。返回的“m.health”指向映射到仅包含以下 1 行的 health.jsp 的切片 def。

更新说明:我无法控制 HTTP header 请求中的 Content-TypeAccept 值。无论收到什么样的请求,我都希望我的响应返回 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/

相关文章:

html - 为什么我们需要 HTML head 中的 meta content type 标签?

rest - 对于多部分数据请求,应在 Content-Type header 中使用哪个分隔符?逗号还是分号?

image - 是否存在现代浏览器可识别的通用图像 MIME 类型?

java - 如何使用变量来启动新的 Intent

java - Spring Data java 配置找不到 org.postgresql.Driver

java - 是否有用于 OpenSocial 的 Java 客户端库?

java - 在 Android 上用 Java 或 C/C++ 解码 Airplay 数据包

java - Spring Boot或者Tomcat缓存静态资源,每次刷新都得重新构建

java - MultipartFile 不在 "@RequestParam Map<String, Object> requestParams"变量中

java - Spring MVC Web 应用程序中映射到 HTTP 路径的处理程序方法不明确