为啥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 的session为啥会变化

使用JSP+Servlet+JavaBean的模式开发一个Web程序,将表单提交的数据显示在下一页面中。

Jsp+Servlet+JavaBean经典MVC模式理解

jsp做web项目中,用jsp+javabean+servlet模式做的,做一用户管理信息的模块,查找用户怎么做啊

使用来自 JavaBean 的数据填充 JSP 页面中的复选框