A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

JavaBean基本概念

在开发软件的过程中,应尽量将业务逻辑和表现层分开,达到完全解耦,这是分层设计。JavaBean实现核心的业务逻辑,JSP页面用于表现层。JavaBean是一种特殊的Java类,形式上是纯Java代码,是一个可以重复利用的组件,提高了JSP页面的可维护性。

JavaBean具有一下特性

  • 支持反射机制:利用反射机制可以分析出JavaBean是如何运行的
  • 支持事件:事件是一种简单的通信机制,利用它可以将信息通知给JavaBean
  • 支持属性:可以自定义属性,利用标准标签与JSP页面交互数据
  • 支持持久性:持久性是指可以将JavaBean进行保存,在需要的时候又可以重新载入
  • JSP页面中HTML代码与Java代码分离,便于页面设计人员和Java编程人员的分工维护

JavaBean有一下规范

  • JavaBean类必须是public的
  • 必须拥有一个不带参数的构造方法
  • 提供给JSP页面调用的方法,必须赋予public访问权限
  • JavaBean中的属性,如果要使用必须定义get和set方法

在JSP中使用JavaBean<jsp:useBean>元素

在指定的某个作用域范围内查找一个指定名称的JavaBean对象,如果存在则直接返回该对象的引用,如果不存在则实例化一个新的JavaBean对象,并将它按指定的名称存储在指定的作用域范围内。

<jsp:useBean id="product" class="package.class" scop="page|request"/>标签属性说明
属性值
说明

idBean的变量名,可以在指定的范围内使用该变量名
classBean的路径名,必须是全限定名路径
scope作用域范围<jsp:setProperty>元素
属性值
说明

name指定JavaBean对象的名称,其值与前面的id属性相同
property指定JavaBean对象的属性名
value指定某个属性的值,将会被自动转换成所要设置的JavaBean属性的类型
param将一个请求参数的值 赋给JavaBean对象的某个属性

value和param两者不能同时使用



  • //指定属性名和属性值



  • <jsp:serProperty name="product" property="price" value="10"/>







  • //使用一个表达式来赋值



  • <%float price=10; %>



  • <jsp:serProperty name="product" property="price" value="<% =price %>"/>







  • //假设有一段请求:http://localhost:8080/sell/product.jsp?priceParam=10



  • <jsp:serProperty name="product" property="price" param="priceParam"/>







  • //请求:http://localhost:8080/sell/product.jsp?price=10



  • //可以发现请求中的属性名称和Bean中属性名称完全相同



  • <jsp:serProperty name="product" property="price"/>







  • //请求:http://localhost:8080/sell/product.jsp?price=10&num=10



  • //该形式将对Bean中的多个属性赋值,将请求中的参数逐一与Bean中属性进行比对,找到同名的就进行赋值



  • <jsp:serProperty name="product" property="*"/>


<jsp:getProperty>元素

用于读取JavaBean对象的属性,将读取的属性值转换成字符串后输出到响应正文中

<jsp:getProperty name="product" property="price"/>

4 个回复

倒序浏览
优秀,奈斯
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马