Java Web读书笔记(3)JSP与JavaBean

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"/>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值