Struts2.5 ajax异步技术的action要新建 response设置charset会导致中文乱码

问题

分析

网上找了很多方法,对struts的编码进行设置,有struts.properties的配置,还有struts.xml中contant的配置。都不行。
于是新建了做了一个测试demo

于是从chrome的审查元素里,进入network,去检查了请求头

同时也检查了demo的请求头,对两个请求头做了文本比对

发现了两处不一样的地方,一处是Transfer-Encoding:chunked,一处是Content-Type(刚开始不认为和这里有问题)。
于是查了chunked,未果,之后去掉了response.Content-Type中的charset=UTF-8,乱码修复了

猜测

可能是struts底层用了另一种编码格式?但是网上说struts2基本用的都是utf8了,那就不明白了,而且这个dispatcher和response又有什么关系呢,也不太明白。

最后,没有了charset=UTF-8,ajax返回的结果就有乱码(实现Servlet接口的方式),要想实现ajax,可以将action分开。毕竟action的生命周期是一个request对象的创建和销毁。

转载请注明出处:https://www.cnblogs.com/dragonbean/p/14003084.html
dragonbean

原文地址:https://www.cnblogs.com/dragonbean/p/14003084.html