分类: JSP |
<jsp:useBean>标签用来在JSP页面中创建一个JavaBean实例并指定他的名字以及作用范围.
语法格式:
<jsp:useBean id="name"
scope="page|request|session|application" class="package.className"
/>
scope为JavaBean存在的范围以及id变量名的有效范围,有效范围从大到小依次为:page,request,session,application.其默认值是page.
-
scope取值page:有效范围为包含<jsp:useBean>元素的JSP文件以及此文件中的所有静态包含文件,直到页面执行完毕向客户端发回响应或转到另一个页面为止.JavaBean实例被保存在当前页面的pageContent对象内.用户可以通过隐含对象pageContext访问JavaBean.代码如下:
pageContext.getAttribu(beanIntanceName)
其中beanInstanceName为useBean标签中声明JavaBean实例的id属性值. -
scope取值request:有效范围为任何执行相同请求的JSP页面中,直到页面执行完毕向客户端发回响应或转到另一个页面为止.JavaBean实例被保存在ServletRequest对象内.用户可以通过隐含对象request访问JavaBean.代码如下:
request.getAttribute(beanInstanceName) 其中beanInstanceName为useBean标签中声明JavaBean实例的id属性值. -
scope取值session:有效范围为从创建JavaBean开始,在任何使用相同session的JSP页面中,直到sessions结束.这个JavaBean实例存在于整个session生存周期内,任何此session中的JSP页面都能使用同一JavaBean实例.JavaBean实例被保存在session对象内,用户可以通过隐含对象session访问JavaBean.代码如下:
session.getAttribute(beanInstanceName) 需要注意的是,在创建JavaBean的JSP页面中的<%@ page %>指令时,必须指定session属性值为true. -
scope取值application:有效范围为从创建JavaBean开始,在应用程序的所有JSP页面中都有效.这个JavaBean实例存在于整个application生存周期内,直到服务器关闭才被取消.JavaBean实例被保存在ServletContext对象内.用户可以通过隐含对象application访问JavaBean.代码如下:
application.getAttribute(beanInstanceName)