自定义了一个类Goods,生成一个对象goods.
我把goods保存在session里面: session.putValue("car",goods);
然后取出来 Goods shop=(Goods)session.getValue("car");
为什么编译不通过呢?

解决方案 »

  1.   

    session.setAttribute( "car ",goods); 
    session.getAttribute("car ");
      

  2.   

    我记得好象是用
    session.setAttribute("car",goods); 然后是session.getAttribute("car"); 
      

  3.   

    建议用 session.setAttribute 方法 然后用 session.getAttribute 方法得到值 
    session.getAttribute 的返回值为 Object 类型
      

  4.   

    org.apache.jasper.JasperException: Exception in JSP: /test_session2.jsp:2724: }
    25: %>
    26: <%
    27: Goods shop=(Goods)session.getAttribute("car");
    28: out.print(shop.getId());
    29: %>
    30: 
      

  5.   

    Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:506)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:395)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      

  6.   

    Goods 对象的类型是什么
      

  7.   

    Goods   shop=(Goods)session.getAttribute( "car "); 

    Goods shop = (Goods)(String.valuesof(session.getAttribute( "car ")));
    试试
      

  8.   

    编译报错:
    The method ValuesOf(Object) is undefined for the type String
      

  9.   

    valueOf()  没有  s
      

  10.   

    Goods类:
    <%!
    public class Goods {
        private Long Id;
        private String name;   
        public Goods(Long Id,String name){
            this.Id = Id;
            this.name = name;      
        }
        public Long getId()       
        {
            return this.Id;
        }
        public String getName()      
        {
            return this.name;
        }   
    }
      

  11.   

    用了valueOf()之后结果:
    Cannot cast from String to test_005fsession2_jsp.Goods
      

  12.   

    Goods 类,应该加入相应的set方法
      

  13.   

    然后
    session.setAttribute( "carId",goods.getId());   
    session.setAttribute( "carName",goods.getName()); ...
      
      

  14.   

    或者session.setAttribute("car",Goods(Long Id,String name));       
      

  15.   

    Goods goods = new Goods(1l,"m");
    session.setAttribute("car",goods);
    Goods shop=(Goods)session.getAttribute("car"); 
    System.out.println(shop.getId());
    System.out.println(shop.getName());我这没有问题
      

  16.   

    是不是页面中没有引入Goods这个类啊?
    你把页面的代码贴一下啊。
      

  17.   

    我是按照这种:
    session.setAttribute(   "carId ",goods.getId());      
    session.setAttribute(   "carName ",goods.getName());
    方法解决的。
    可能会浪费资源吧,以后再试有没有别的办法,先这样吧
      

  18.   

    this.session["car"] = goods;
    return (Good)this.session["car"];
    这样可以不 
      

  19.   

    你把对象放到session里面?怎么可以呢?setSession 和getSession仅仅是存放某个属性值,不是什么东西都可以放的