问题
分析
网上找了很多方法,对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