tag mvc formulario form example java spring-mvc content-type apache-tiles

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 .