为啥jsp页面中传入JavaBean对象里面的中文参数在调试时显示成员变量是乱码?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥jsp页面中传入JavaBean对象里面的中文参数在调试时显示成员变量是乱码?相关的知识,希望对你有一定的参考价值。
从jsp页面传入几个参数,然后用jsp:useBean建立对象,并且自动匹配名字相同的变量,但是在调试的时候发现JavaBean对象里面的中文参数都是乱码,该如何解决?
楼上的说法是一不分,一般这种中文乱码应该不能这么解决。不过建议也协商这句话。
另外 你是不是用?get方法传递的啊? 这样的话是没有办法解决的。
没记错的话它本身就转译不了。想办法换post方法。使用脚本动态提交
表单。 内容就很灵活了,直接显示,或者是隐藏域。 总之就是不能用
get方法传递中文。(不知道有没有人成功过,反正我没有 ……) 参考技术A 在页面使用UTF-8 字符编码. 参考技术B response.setCharacter("GBK");
在页面顶部中写,
<meta http-equiv="Content-Type" content="text/html; charset=GBK">,
IT兄弟连 JavaWeb教程 JSP经典案例
案例需求:定义一个javaBean叫XdlUser,有四个字段int id、String name、int age、double salary。写一个jsp页面,在页面中构建一个列表对象,里面存放几个XdlUser类型的对象。
案例实现:
● XdlUser类
package com.xdl.bean;
public class XdlUser {
public XdlUser(int id, String name, int age, double salary) {
super();
this.id = id;
this.name = name;
this.age = age;
this.salary = salary;
}
public XdlUser() {
super();
}
@Override
public String toString() {
return "XdlUser [id=" + id + ", name=" + name
+ ", age=" + age + ", salary=" + salary + "]";
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
private int id;
private String name;
private int age;
private double salary;
}
● JSP代码
<%@page import="java.util.ArrayList"%>
<%@page import="com.xdl.bean.XdlUser"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
<style type="text/css">
table {
width:600px;
text-align: center;
border-collapse: collapse;
}
table,td{
border:1px solid red;
}
</style>
</head>
<body>
<%
List<XdlUser> datas = new ArrayList<XdlUser>();
XdlUser usera = new XdlUser(1,"杜兰特",28,2400);
XdlUser userb = new XdlUser(2,"詹姆斯",32,2600);
XdlUser userc = new XdlUser(3,"库里",29,1800);
XdlUser userd = new XdlUser(4,"莱昂纳德",28,2000);
datas.add(usera);
datas.add(userb);
datas.add(userc);
datas.add(userd);
%>
<table>
<tr> <td>ID</td> <td>NAME</td> <td> AGE</td> <td> SALARY</td> </tr>
<%
for(int i=0;i<datas.size();i++){
XdlUser user = datas.get(i);
%>
<tr> <td><%=user.getId() %></td>
<td><%=user.getName()%></td>
<td> <%=user.getAge() %></td>
<td> <%=user.getSalary() %></td>
</tr>
<%
}
%>
</table>
</body>
</html>
以上是关于为啥jsp页面中传入JavaBean对象里面的中文参数在调试时显示成员变量是乱码?的主要内容,如果未能解决你的问题,请参考以下文章
jsp+javabean+servlet实现登录功能user.java用来干啥?
使用JSP+Servlet+JavaBean的模式开发一个Web程序,将表单提交的数据显示在下一页面中。