新浪旧事-jsp:useBean

来源:互联网 发布:java移动端开发 编辑:程序博客网 时间:2024/04/30 00:26

    形式:

<jsp:useBean id="" beanName="" class="" scope="page" type=""></jsp:useBean>

    其中:

    1. id:指定JavaBean的名字,与servlet或jsp或其他方式传递到该jsp页面的对象名称相同。例如:在servlet中有:

       Person person = new Person() ;

       request.setAttribute("abc" , person) ;

       则id="abc"

    2. class:javaBean的具体名字,如com.test.Person

    3. beanName:使用java.beans.Beans.instantiate方法实例化beanName属性指定的类或序列化模板对应的Bean对象,赋予JavaBean对象type属性指定的数据类型。Beans.instantiate方法会检查beanName属性指定的名称是类名称还是序列化模板的名称。假如该JavaBean对象已被序列化,则Beans.instantiate使用类加载器读取序列化的内容,更多信息可参考JavaBeans.

    beanName属性值要么是一个完整类名,要么是一个可以转化为完整类名的表达式。用来传给Beans.instantiate方法。type属性值可和beanName属性值同,或为其超类、接口。
    beanName和type属性所指定的包名,类名均大小写敏感。

    4. scope:scope="page | request | session | application" 

    Bean对象存在的作用范围,默认值为 page. 不同作用域解释如下:

    1) page: 你可以在<jsp:useBean>元素所在JSP页面或其静态包含页面使用该JavaBean对象,直到该页面发送响应回客户端或跳转(forwards)至其它页面。

    2) request: 你可以在处理同一个请求的任意一个页面使用该JavaBean对象,直到该页面发送响应回客户端或产生新的请求。你可以使用request对象访问该JavaBean对象,示例:

    request.getAttribute(beanInstanceName).             
    3) session: 你可以在同一次会话的任意一个页面使用该JavaBean对象,该JavaBean对象在整个会话期间一直存在。使用<jsp:useBean/>创建JavaBean对象的页面的<%@page %>指令元素的session属性值必须设置为true; 
    4) application: 你可以在创建该JavaBean对象的同一个应用的任意一个页面使用该JavaBean对象,该JavaBean对象在整个应用期间一直存在。应用中任意一个页面均可使用它。

    5. type:用来指定该Bean对象的数据类型,假如既没有指定 class 或 beanBean, 没有Bean对象能被实例化。包和类名称大小写敏感。

原创粉丝点击