JSP中JavaBean中传输数据的乱码问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP中JavaBean中传输数据的乱码问题相关的知识,希望对你有一定的参考价值。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="text.student" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'jjj.jsp' starting page</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<form action="" method="post">
<p>请输入姓名:<input type=text name="name">
<p>请输入学号:<input type=text name="number">
<p>请输入身高:<input type=text name="height">
<input type=submit value="提交">
</form>
<jsp:useBean id="stu" class="text.student" scope="page"></jsp:useBean>
<jsp:setProperty name="stu" property="*"/>
<p>名字是:<jsp:getProperty name="stu" property="name"/></p>
<p>学号是:<jsp:getProperty name="stu" property="number"/></p>
<p>身高是:<jsp:getProperty name="stu" property="height"/></p>
</body>
</html>
student.java:
package text;
public class student
String name;
long number;
double height;
public String getName()
try
byte b[]=name.getBytes("UTF-8");
name=new String(b);
return name;
catch(Exception e)
return name;
public void setName(String newName)
name=newName;
public long getNumber()
return number;
public void setNumber(long newNumber)
number=newNumber;
public double getHeight()
return height;
public void setHeight(double newHeight)
height=newHeight;
每次传输数据时,当名字是汉语时就会出现乱码,,怎么回事,怎么改啊?
还是不行啊,都试了,谁能帮帮我啊
另外可以在下面在写一句<%@ session.setCharacterEncoding("gb2312");%>
这样就不会出现乱码了 参考技术A pageEncoding="UTF-8"改成gbk试下 参考技术B 把UTF-8改成GBK就好了。 参考技术C utf-8改成gb2312 试试
JSP页面与JSP页面之间传输参数出现中文乱码的解决方案
在学习编程初期JSP与JSP页面之间传输参数大多数都是使用这样的方式
index.jsp?id=*&name=*
这样的传输方式实质上是一种GET传输方式, 那如果出现了中文乱码, 解决方法其实很简单, 可以在接收页面参数的JSP页面加上这样一句代码
...... <% String id = request.getParameter("id"); String name = request.getParameter("name"); String encodename = new String(name.getBytes("ISO-8859-1"),"utf-8"); %> ......
问题解决!
String encodename = new String(name.getByte("iso-8859-1"),"utf-8");
这句代码其实可以算是GET方法的专属的解决编码问题的方法了.
以上是关于JSP中JavaBean中传输数据的乱码问题的主要内容,如果未能解决你的问题,请参考以下文章
在JavaBean中使用jsp动作getProperty时,如何解决中文乱码问题