请问,ACTION里request.setAttribute方法和JSP中的request.getAttribute方法之间只能传递字符串,而传递INT或其他类型都get不到是怎么回事,谢谢各位  
注释:只能传递字符串举例
request.setAttribute("name","jack")这样可以通过request.getAttribute方法在JSP中得到
而request.setAttribute("age",18)这样传递int型或其他类型的参数在JSP中用request.getAttribute方法就得不到了
报的错误为:
ServletException during processing of content: ( java.lang.Integer) [60712] Caused by:  Caused by: java.lang.ClassCastException java.lang.Integer
java.lang.ClassCastException: java.lang.Integer
java.lang.ClassCastException: java.lang.Integer

解决方案 »

  1.   

    可能是你的JDK版本不够高,换成5.0的应该没问题。你可以这样试试。request.setAttribute("age",18)改成request.setAttribute("age",new Integer(18))
      

  2.   

    似乎不是这个问题,改成new Integer(18)不行
    JDK的话我再问问看,是什么版本的
      

  3.   

    request.setAttribute("age",new Integer(18));int i=((Integer)request.getAttribute("age")).intValue();
      

  4.   

    JDK我是1.5.0_04的,应该不低了吧
    还是谢谢你,继续期待
      

  5.   

    setAttribute()函數第二個參數是個object,int是基本類型當然不可以。
      

  6.   

    request.setAttribute("age",new Integer(18));int i=((Integer)request.getAttribute("age")).intValue();
      

  7.   

    Augustans你的方法也不行
    我同事他们都是直接可以传其他类型的,包括Iterator
    我不知道问题出在哪
      

  8.   

    QWERT520,能说具体点吗?
    类型我按我同事的方法转了
    他可以传,我不可以传
      

  9.   

    暈我代碼裏就這麽寫的阿,實在不行你就搞成String 阿,然後轉成int
      

  10.   

    这个我也想过,是能解决问题
    但我想知道问题出在哪
    而且都用STRING的话也会导致不方便:)
      

  11.   

    request.setAttribute("age",18);int i=((Integer)request.getAttribute("age")).intValue();
      

  12.   

    request.setAttribute("age",new Integer(18));
    這麽寫肯定沒問題
      

  13.   

    setAttribute和getAttribute只能传递对象,不能传递基本类型,只能把基本类型转换成封装类在进行传递。
      

  14.   

    request.setAttribute(age,new Integer(18));
    int i=(Integer)(request.getAttribute("age")).intValue();request.setAttribute(Strig s,Object o)
    request.getAttribute(String s)
    两者只能传递对象,不能传递基本数据类型,所以需要转化成对应的封装类才能使用。
    基本数据类型   封装类型
    byte          Byte
    char          Character
    int           Integer
    short         Short
    float         Float
    double        Double
    long          Long
    boolean       Boolean