मैं स्प्रिंग एमवीसी द्वारा प्रदान किए गए कैरेक्टर एन्कोडिंगफिल्टर पर एक नज़र डाल रहा था। मैं सोच रहा था कि अनुरोध एन्कोडिंग को दिए गए एन्कोडिंग पर मजबूर होने पर प्रतिक्रिया एन्कोडिंग क्यों सेट करना संभव था? स्वीकृति हेडर फ़ील्ड में कुछ भी निर्दिष्ट नहीं होने पर डिफ़ॉल्ट प्रतिक्रिया एन्कोडिंग सेट करने में सक्षम क्यों नहीं हो? या अगर अनुरोध में कोई एन्कोडिंग मौजूद नहीं थी?स्प्रिंग एमवीसी: कैरेक्टर एन्कोडिंगफिल्टर; बलपूर्वक प्रतिक्रिया एन्कोडिंग क्यों सेट करें?
कोड:
@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);
}
मैं संदर्भ https://jira.springsource.org/browse/SPR-3328?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel बताते हुए प्रतिक्रिया एन्कोडिंग केवल सेट किया जा सकता है कि जब अनुरोध एन्कोडिंग जबरन सेट किया गया है के रूप में इस पाया। क्यूं कर?
अग्रिम धन्यवाद, मार्टिन
संभवतः यह http://stackoverflow.com/questions/3616359/who-sets-response-content-type साथ संबंधित है -इन-वसंत-एमवीसी-प्रतिक्रियाकर्ता (अगर मुझे कुछ याद नहीं आ रहा है) –