JSP+Struts2.1.6 乱码问题的解决

使用Struts2.1.6进行开发。
在Action中setAttribute("menus", menus)设置属性值,JSP中使用 var menus =<%=request.getAttribute("menus")%> 获取属性值,当menus中含有中文时,JSP中获取的值显示为乱码。已尝试以下方法均无法获取正确的值:
1.在Action中使用HttpServletRequest对象setCharacterEncoding("UTF-8") 方法  。
2.在JSP中设置脚本语言的字符集<script charset="UTF-8" language="javascript" type="text/javascript">  。
3.在JSP中var menus =<%=request.getAttribute("menus")%> 之前运行<%request.setCharacterEncoding("UTF-8");%>   。
4.在JSP<html>的<head>部分设置字符集: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  。

5.在Eclipse中设置JSP文件保存的格式为UTF-8 。


最后解决的方法:
在JSP文件的开始部分加入:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
问题解决。

如果是URL传递参数时包含中文,在接受参数时出现乱码,则在tomcat的配置文件server.xml 中的“Connector port="8080" “部分加入”  URIEncoding="UTF-8"  “ 即可。
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页