Estaba echando un vistazo al CharacterEncodingFilter provisto por Spring MVC. Me preguntaba por qué solo era posible configurar la codificación de respuesta cuando la codificación de solicitud se forzaba a la codificación dada. ¿Por qué no ser capaz de establecer una codificación de respuesta predeterminada si no se especifica nada en los campos del encabezado de aceptación? O si no hay codificación presente en la solicitud?Spring MVC: CharacterEncodingFilter; ¿por qué solo establecer la codificación de respuesta por la fuerza?
El código:
@Override
protected void doFilterInternal(
HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
throws ServletException, IOException {
if (this.encoding != null && (this.forceEncoding
|| request.getCharacterEncoding() == null)) {
request.setCharacterEncoding(this.encoding);
if (this.forceEncoding) {
response.setCharacterEncoding(this.encoding);
}
}
filterChain.doFilter(request, response);
}
He encontrado esto como referencia https://jira.springsource.org/browse/SPR-3328?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel que indica que la codificación de la respuesta sólo se puede ajustar cuando la solicitud de codificación se establece por la fuerza. ¿Por qué?
Gracias de antemano, Martin
Posiblemente está relacionado con http://stackoverflow.com/questions/3616359/who-sets-response-content-type -in-spring-mvc-responsebody (si no me falta algo) –