java - mvc - spring jsp
Spring MVC 3 Return Content-Type: text/plain (2)
Debería funcionar si anotas tu método adicionalmente con @ResponseBody:
@RequestMapping(value = "/",
method = RequestMethod.GET)
@ResponseBody
public String plaintext(HttpServletResponse response) {
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
return "TEXT";
}
Quiero mostrar texto simple en una página y, como tal, devolver el tipo de Content-Type
como text/plain
.
Al usar el código que aparece a continuación, veo texto sin formato en la página, sin embargo, el Content-Type
devolución sigue siendo text/html
.
¿Cómo puedo arreglar esto?
NOTA: Estoy usando Tiles con Spring MVC. El "m.health" devuelto apunta a una definición de mosaicos que se asigna a un health.jsp que solo contiene la línea 1 a continuación.
NOTA DE ACTUALIZACIÓN : No tengo control sobre los valores de Content-Type
o Accept
en la solicitud de encabezado HTTP. Quiero que mi respuesta devuelva text/plain
sin importar el tipo de solicitud que ingrese.
Controlador:
@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:
$ {estado}
Puede intentar establecer el valor de @RequestMapping
de su anotación @RequestMapping
con text/plain
. La documentación de Spring muestra esto como una sample .