JavaBean的规范
- javaBean 必须是一个公共的类,其访问权限是public
- 必须要有一个默认的构造器
- javaBean不能有公共的实例属性,属性都是private修饰的
- 提供get/set方法,如果只是提供了get方法,那么这个属性是只读属性
- boolean 类型的属性的读方法,可以是get,也可以是is
属性:如果没有定义属性,但是有get/set方法,那么这也是一个属性,属性名是get/set方法名去掉get/set然后字母小写,比如:下面表示属性名是id
public int getId(){ return 520; }
内省(Introspector)(查看java se 文档)流程
- 内省类–>Bean信息–>属性描述符–>属性的get/set方法–>反射调用方法
BeanUtils的使用
- 他是依赖内省完成的,内省是依赖发射完成的
- 导包
- commons-beanutils.jar
- commons-logging.jar
BaanUtils常用的方法
- setProperty(Object,prranName,paramValue) 给Javabean的属性 设置值
- getProperty(Object,papamName) 获取JavaBean的属性值
- populate(class,Map)讲一个map中数据,封装到JavaBean中
与JavaBean 相关额jsp标签
- jsp:useBean –> 创建或查询bean
- jsp:useBean id=”user1” class=”cn.itcast.domain.User” scope=”session”/> 在session域中查找名为user1的bean,如果不存在,创建之
- jsp:useBean id=”user1” class=”cn.itcast.domain.User” scope=”session”/>当创建了 之后,再次使用那么就是查询的效果了
- jsp:setProperty>
- jsp:setProperty property=”username” name=”user1” value=”admin”/> 设置名为user1的这个javabean的username属性值为admin
- jsp:getProperty>
- jsp:getProperty property=”username” name=”user1”/> 获取名为user1的javabean的名为username属性值
EL表达式中的javaBean导航
- 在使用EL表达式获取属性的时候, 可以直接.属性名来获取属性
- 不需要向Java代码一样,调用get方法获取
- 实例:javaBean导航