使用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"> 。
在JSP文件的开始部分加入:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
问题解决。
在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" “ 即可。
本文介绍了解决Struts2应用中中文乱码的方法。通过正确设置JSP页面的编码格式,确保了从Action传递到JSP的中文内容能够正常显示。同时,文中还提供了针对URL传递参数时出现乱码的解决方案。
2391

被折叠的 条评论
为什么被折叠?



