jsp的class和beanName属性之间的区别:useBean

时间:2012-01-03 10:18:50

标签: jsp

class标记的beanName属性和jsp:useBean属性之间有何区别。

1 个答案:

答案 0 :(得分:12)

请阅读the <jsp:useBean> documentation (page 35)。这是相关内容的摘录:

  
      
  • class="package.class" type="package.class"

         

    class中指定的类实例化bean,并为bean指定您在type中指定的数据类型。 type的值可以与classclass的超类或class实现的接口相同。

         

    您在class中指定的类不能是抽象的,并且必须具有公共的无参数构造函数。您与classtype一起使用的包名和类名区分大小写。

  •   
  • beanName="{package.class | <%= expression %>}" type="package.class"

         

    从类,序列化模板或计算结果为类或序列化模板的表达式实例化bean。使用beanName时,bean由java.beans.Beans.instantiate方法实例化。 Beans.instantiate方法检查您指定的包和类是表示类还是序列化模板。如果它们代表序列化模板,Beans.instantiate使用类加载器读取序列化形式(其名称为package.class.ser)。

         

    type的值可以与beanNamebeanName的超类或beanName实现的接口相同。您与beanNametype一起使用的包名和类名区分大小写。

  •