JSP页面1:
<table border="1">
<%@page import="com.bookmanagersys.bean.Operator"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"
+request.getServerPort()+path+"/";
List<Operator> list=(List<Operator>)request.getAttribute("operatorlist");%>
<table>
     <tr><th>用户名</th><th>密码</th><th>等级</th><th>操作</th></tr>
     <%
     for(int i=0;i<list.size();i++){
     Operator operator=list.get(i);
     %>
     <tr>
      <td><input type="text" name="name" value="<%=operator.getName()%>"></td>
      <td><input type="text" name="password" value="<%=operator.getPassword()%>"></td>
      <td><input type="text" name="level" value="<%=operator.getLevel()%>"></td>
      <td><a href="./GetOneUserServlet?name=<%=operator.getName()%>">修改用户</a>
       &nbsp;&nbsp;<a href="./DeleteUserServlet?name=<%=operator.getName()%>">删除用户</a></td>
     </tr>
    <%} %>
    <tr><td></td><td colspan="2"><a href="addOperator.jsp">添加用户</a></td><td><br></td></tr>
    </table>
xxxxxxxxxxxxxxx         xxxxxxxxxxxxxxxx         xxxxxxxxxxxxxxx         xxxxxxxxxxxxx
GetOneUserServlet:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
//response.setCharacterEncoding("utf-8");
OperatorService operatorService=new OperatorService();
System.out.println(request.getParameter("name"));
Operator operator=operatorService.findOne(request.getParameter("name"));
//request.getSession().putValue("updateoperator", operator);
//request.getSession().setAttribute("updateoperator", operator);
if (operator==null) {
System.out.println("operator==null");
}else {
System.out.println("XXXXXXXXXXXXXXXXXXXXXXXXXXX");
}
request.setAttribute("updateoperator", operator);
request.getRequestDispatcher("updateOperator.jsp").forward(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

doGet(request, response);

}如果修改的是JSP页面1中name为中文的记录在这里面的到的是乱码
xxxxxxxxxxxxxxxxxx    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx         xxxxxxxxxxxxxxx
JSP页面2:
<form name="form" action="" method="post" >
    <table border="1">
     <tr>
      <td>用&nbsp;&nbsp;户名:</td>
        <td><input type="text" name="name" value="<%=operator.getName()%>"></td>
     </tr>
     <tr>
      <td>密&nbsp;&nbsp;&nbsp;&nbsp;码:</td>
        <td><input type="text" name="password" value="<%=operator.getPassword()%>"></td>
     </tr>
     <tr>
      <td><input type="submit" onclick="return update()" value="修改"></td>
        <td><a href="./ShowOperatorServlet">取消</a></td>
     </tr>
    </table>
    </form>
xxxxxxxxxxxxxxxxxxxxxxxx       xxxxxxxxxxxxxxxxxxxxxxxxx        xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
这个页面有时也会出现乱码- -!

解决方案 »

  1.   

    将每一个
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    改为
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html;charset=GBK"%>
    试试
      

  2.   

    额、JSP页面有一句代码忘了贴上来:<meta http-equiv="Content-Type" content="text/html; charset=utf-8">这个的效果和你后面+的那句应该一样吧!
      

  3.   

    <%@ page language="java" pageEncoding="gb2312"%>
    <meta http-equiv="Content-Type" content="text/html charset=gb2312">两个都加。
    前者是保存编译时的编码,后者是在浏览器上显示时浏览器选择的编码
      

  4.   

    谢谢2位啊  问题已经解决了,是通过改TOMCAT的server.xml文件的编码实现的!