概念:
被称为是Java组件技术的核心;其结构必须满足一定的命名约定,类似于windows下的ActiveX控件,能提供常用功能并可以重复使用。
常用操作指令:
- <jsp:useBean>
- 用于在JSP页面中实例化一个JavaBean组件,这个组件将可以在这个JSP程序的其他地方被调用;
- 各属性解析:
- id="beanInstanceName" 是一个用来标识你指定作用于的变量,可以在JSP文件的表达式或脚本小应用程序中使用该变量名,大小写敏感;
- scope="page|request|session|application" 是对象那个存在的作用范围,默认值为page。
- page:可以在该元素所在的JSP页面使用该对象,知道该页面发送响应会客户端或跳转至其他页面;
- request:可以在处理同一个请求的任意一个页面使用该对象,直到该页面发送响应会客户端或产生新的请求;可以使用request独享访问该Javabean对象;
- session:可以在同一个会话的任意一个页面使用该对象,在整个会话期间一直存在。
- application:可以创建该对象的同一个应用的任意一个页面使用该对象,在整个应用期间一直存在。
- class="package.class" 从一个class实例化Bean对象,使用new关键字调用class的构造方法完成;该class不能是抽象的,必须是一个public、无参的构造器;
- type="package.class" 用来指定该对象的数据类型,如果没有指定class或者beanBean,没有Bean对象能被实例化;
- beanName=“{package.class|<%= expression%>}” type="package.class" 使用java.beans.Beans.instantiate方法实例化beanName属性指定的类或序列化模板对应的Bean对象,赋予该对象type属性指定的数据类型;
- useBean的执行步骤:
- 尝试在scope属性指定的作用域使用你指定的名称定位Bean对象;
- 使用你指定的名称定义一个引用类型变量;
- 假如找到Bean对象,将其引用给步骤2定义的变量;
- 如果没找到Bean对象,则实例化一个新的Bean对象,并将其引用给步骤2定义的变量。
- 假如<jsp:useBean>此次是实例化Bean对象而不是定位Bean对象,且它有体标记或元素,则执行体标记。
- <jsp:setProperty>
- 被用于指定JavaBeans的某个属性的值;
- 各属性解析:
- name:是必须的,表示要设置属性的哪个Bean对象;
- property:是必须的,表示要设置属性的哪个属性;如果是“*”,表示所有名字和Bean属性名字匹配的请求参数都将被传递给相应的属性set方法;
- Value:是可选的,用来指定Bean属性的值;
- param:是可选的,指定用那个请求参数作为Bean属性的值。(value与param不能同时使用)
- 例:
- <jsp:useBean id="myName".../>
- <jsp:setProperty name="myName" property="someProperty".../>
- <jsp:getProperty>
- 用来获取Bean对象的属性值,用于显示在页面中;
- 语法:<jsp:setProperty name="beanInstanceName" property="propertyName" />
- 例:
- <jsp:useBean id="calendar" scope="page" class="employee.Calendar" />
- <h2> <jsp:setProperty name=“calendar” property="usename" /> </h2>
- 限制:
- 不能使用<jsp:setProperty>来检索一个已经被检索的属性;
- 能够和Javabean组件一起使用<jsp:getProperty>,但不能与EnterpriseBean一起使用;
核心:能够通过Javabean在jsp页面中实例化web项目中的bean实体类!