书上说 属性BeanName代表Bean的名字,通常通过java.beans.Beans class的instantiate()方法来初始化
读了几遍还是不解起义,有了class属性就没有BeanName属性
我想了解下class和beanName的区别,然后再举个简单使用beanName属性的例子,谢谢

解决方案 »

  1.   

    class:bean得路径,beanNaeme:bean的名字
    它的使用例子如下:
    <jsp:useBean id="shopcar" scope="session" class="sessopn.Carts"/>
    <jsp:setProperty name="shopcart" property="*"/><jsp:useBean id="checking" scope="session" class="bank.Checking">
    <jsp:setProperty name="checking" property="balance" value="0.0"/>
    </jsp:useBean>
    scope的取值可以是page/request/session/application 范围依次递增!
    可以分别使用
    //page 中直接使用checking即可!
    request.getAttribute("checking")
    session.getValue("checking")
    application.getAttribute("checking")
    另外除了以上属性useBean还有以下属性
    class="className"
    这是Bean的类路径和类名。这个class不能是抽象的,必须有一个公用的,无参数的构造器。
    BeanName="beanName"  type="typeName"
    使用instantiate方法从一个class中实例化一个Bean,同时还可以指定 Bean的类型
    type="typeName"
    type可以是一个类本身,也可以是一个类的父类,或者是一个类的接口。如果没有使用class和BeanName指定type,Bean将不会被 实例化
    另外不能同时使用 class和BeanName。BeanName的是Bean的名字,它的形式为"a.b.c"。
      

  2.   

    楼上的,我还是没有看到使用BeanName属性的例子呀
    举个使用BeanName属性的例子,谢谢
      

  3.   

    可用于保存的bean:   
        
      package   test;   
        
      import   java.io.*;   
        
      public   class   FirstSaveBean   implements   Serializable{   
        
      private   String   name;   
        
      public   FirstSaveBean(){   
      }   
        
      public   String   getName(){   
      return   name;   
      }   
        
      public   void   setName(String   name){   
      this.name   =   name;   
      }   
        
      }   
        
        
      相关的jsp页面:   
        
      <%@page   import="java.io.*"%>   
      <jsp:useBean   type="test.FirstSaveBean"   id="tb"   beanName="test.FirstSaveBean"/>   
      <jsp:setProperty   name="tb"   property="name"   value="KillMM"/>   
      下面开始保存对象tb到/WEB-INF/classes/test/TT.ser,注意后缀名。   
      <%   
      String   p   =   "/WEB-INF/classes/test/TT.ser";   
      p   =   application.getRealPath(p);   
      FileOutputStream   fos   =   new   FileOutputStream(p);   
      ObjectOutputStream   oos   =   new   ObjectOutputStream(fos);   
      oos.writeObject(tb);   
      oos.close();   
      %>   
      开始使用对象tb1从TT.ser中获取对象。   
      <jsp:useBean   type="test.FirstSaveBean"   id="tb1"   beanName="test.TT"/>   
      <%=tb1.getName()%>
      

  4.   

    使用BeanName属性的例子,应该可以了
    楼主结账吧,呵呵
      

  5.   

    可以看一下Beans类中的instantiate方法(因为使用BeanName属性的话就是根据这个方法来创建实例的)
    再集合3楼兄弟的代码就能知道咯~
      

  6.   

    能说下beanName的具体作用吗?  有了 id class scope之后不就差不多了?