JAVA 中用Enumeration遍历Form 表单代码如下: public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();

Enumeration <String>  paramNames = request.getParameterNames();
while(paramNames.hasMoreElements()){
out.print(paramNames.nextElement());
}
。,用Enumeration是可以实现遍历表单,但是Enumeration 这个接口已经被Iterator所替代,小弟用Iterator遍历了,报错“java.lang.ClassCastException: java.util.Collections$1 cannot be cast to java.util.Iterator”,请给位指点下,将上面的代码用Iterator 来实现遍历!谢谢!

解决方案 »

  1.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    </head><body>
    <p align="center"> A Sample From Using Post</p>
    <form id="form1" name="form1" method="get" action="">  <p>Number:   
        <input type="text" name="Number" />
        <br>
        <br>
    Quantity:   
    <input type="text" name="Quantity" />
    <br>
    <br>
    Price:   
    <input type="text" name="price" />
    <br>
    <br>First Name :   
    <input type="text" name="firstname" />
    <br>
    <br>
    Last Name :   
    <input type="text" name="lastname" />
    <br>
    <br>
    Middle Name :   
    <input type="text" name="middlename" />
    <br>
    <br>Address:
    <textarea name="address" cols="40" rows="3"></textarea><br>    <br>
    Card Type:<br>
    &nbsp;&nbsp; <input type="radio" name="cardtype" value="visa" />visa<br>
    &nbsp;&nbsp; <input type="radio" name="cardtype" value="master" />master<br>
    &nbsp;&nbsp; <input type="radio" name="cardtype" value="american express" />american express<br>
    &nbsp;&nbsp; <input type="radio" name="cardtype" value="discover" />discover<br>
    &nbsp;&nbsp; <input type="radio" name="cardtype" value="java smartcard" />java smartcard <br><br>card number:<input type="password" name="cardnumber" />
    repeat card number:<input type="password" name="cardnumber" />  
      <p align="center"> <input type="submit" name="Submit" value="提交" />
      </form>
    </body>
    </html>
     这个是测试用的表单源码!
      

  2.   

    那就用集合去遍历就,不用Enumeration
      

  3.   


    Iterator   itr = list.iterator();
    while(itr.hasNext()){
    System.out.println(itr.next());
    }把LIST换成你的集合 
      

  4.   

    你好,request.getParameterNames();里边的结构是Hashtable,不能将其强制转化为Collection类,而Iterator是集合Collection的迭代器,因此不能用Iterator迭代。应该用枚举迭代器Enumeractor,因此只能用枚举类型来迭代。
      

  5.   

    还有就是Enumeration 这个接口没有被Iterator所替代,枚举有枚举的优点
      

  6.   

    ,这个意思是不是Enumeration <String>  paramNames = request.getParameterNames();
    这句话返回改成这个样Collection paramNames = request.getParameterNames();