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

本文介绍了解决Struts2应用中中文乱码的方法。通过正确设置JSP页面的编码格式,确保了从Action传递到JSP的中文内容能够正常显示。同时,文中还提供了针对URL传递参数时出现乱码的解决方案。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

使用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"  “ 即可。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值