Stavo dando un'occhiata al CharacterEncodingFilter fornito da Spring MVC. Mi chiedevo perché era possibile impostare la codifica della risposta solo quando la codifica della richiesta era forzata alla codifica data? Perché non essere in grado di impostare una codifica di risposta predefinita se non viene specificato nulla nei campi dell'intestazione di accettazione? O se non fosse presente alcuna codifica nella richiesta?Spring MVC: CharacterEncodingFilter; perché impostare la codifica della risposta solo con la forza?
Il codice:
@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);
}
Ho trovato questo come riferimento https://jira.springsource.org/browse/SPR-3328?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel affermando che la codifica di risposta può essere impostato solo quando la codifica richiesta viene forzatamente impostata. Perché?
Grazie in anticipo, Martin
forse è in relazione con http://stackoverflow.com/questions/3616359/who-sets-response-content-type -in-spring-mvc-responsebody (se non mi manca qualcosa) –