此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【magicway】截止到2008-08-03 16:48:38的历史汇总数据(不包括此帖):
发帖的总数量:9                        发帖的总分数:390                      每贴平均分数:43                       
回帖的总数量:19                       得分贴总数量:0                        回帖的得分率:0%                       
结贴的总数量:9                        结贴的总分数:390                      
无满意结贴数:0                        无满意结贴分:0                        
未结的帖子数:0                        未结的总分数:0                        
结贴的百分比:100.00%               结分的百分比:100.00%                  
无满意结贴率:0.00  %               无满意结分率:0.00  %                  
敬礼!

取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=magicway

解决方案 »

  1.   

    oGet如果设置了编码 如:response.setContentType("text/html;charset=UTF-8");那么打印出来的就是乱码...
    ----------------
    那就charset = gbk。
    =-------------------
    你那checkbox的name可真个性,,最好使用英文,checkbox这种情况的name一致就好了。
    -----
      

  2.   

    设置成GBK也不行  还是乱码
    楼下的几个  程序并没有问题 显示也正确  只是有些问题想不通  为什么不能设置编码  或编码应该如果设置
      

  3.   

    给你测试了看下我代码。。运行ok。
    ------------------------------------------------Servlet
    package com.zhangkai.servlet;import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.Enumeration;import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;public class ServletTest extends HttpServlet { private static final long serialVersionUID = 1L; public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException { doGet(request,response);
    } public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    Enumeration <String> en=request.getParameterNames();
    while(en.hasMoreElements())
    {
    String name1=en.nextElement();
    out.print(" <br>"+name1);
    out.print("-->"+request.getParameter(name1));
    }
    out.flush();
    out.close();


    }
    ------------jsp
    <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head> </head>
    <body>
    <form action="Book" method=get>
        <input type=checkbox name="球1" value="你选择了篮球">篮球 <br>
    <input type=checkbox name="球2" value="你选择了足球">足球 <br>
    <input type=checkbox name="球3" value="你选择了排球">排球 <br>
        <input type=submit value="提交">
    </form>
    </body>
    </html>结果:
    球2-->你选择了足球 
    球1-->你选择了篮球
      

  4.   

    把你那name设成一样的就ok。然后返回所有的value,打印就得了呗。
    传值和取值的时候,首先问,到底拿的什么编码格式的值,出错了也就知道错哪了。
      

  5.   

    这位兄台  你把我的代码拿去直接运行  不要修改name属性 一样可以打印出正确结果
    问题不在这里 你不好好看问题.....
      

  6.   

    name属性设置成一样的?这个是多选项  不是单选项  
    多选项 使用checkbox name属性不一样
    单选项 使用radio name属性一样
    我获取的是使用枚举
      

  7.   

    按基本原理 我可以用request.getParameter("球")--
    -----------
    你里面name有叫球的么。
    --------------------
      

  8.   

    name属性设置成一样的?这个是多选项  不是单选项---------
    ---------------------------------
    复选框必须要不一样的name么,看书吧
      

  9.   

    哎....我的代码是可以正确显示的  
    我的问题不是叫你们改错  
    而是.....
    1.doGet如果设置了编码 如:response.setContentType("text/html;charset=GBK");那么打印出来的就是乱码... 
    2.按基本原理 我可以用request.getParameter("球1")来获取表单的值  但测试结果是NULL 
    而且 即使我  request.setCharacterEncoding("GBK");  接受的结果还是NULL 
      

  10.   

    response.setContentType("text/html;charset=gbk"); 
    用来设置JSP页面的文档格式,与PAGE指令的setContentType的功能是一样的
    由于你的servlet没有跳转,所以当前设置就是错误的,而导致了乱码。。