Java Bean特性
- 支持反射机制
- 支持事件——利用事件可以将相应的信息通知给bean
- 支持属性:可以自定义属性,利用标准标签与JSP页面交互数据
- 支持持久性:可以保存Java Bean,需要时可重新载入
遵循规范
- 必须是public类
- JSP页面调用的方法,必须赋予public访问权限(java权限修饰符的概念)
- get、set方法 编辑器一般都可以自动生成 不熟悉可以自己写 权限是public (同上)
- 必须拥有不带参数的构造方法
public class Car{
private String name;
private String type;
private double price;
//默认构造函数
public Car(){
super();
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;//this.name指的是 当前类属性name(多哔哔一下)
}
......
......
}
Bean类有两种部署方法:
- 将class文件部署在Web服务器的公共目录下
- 部署在Web服务器的特定项目的目录中,即Web-INF文件下的classes目录内的制定文件
设置Bean属性的方法
(一)、直接利用表达式
//导入引用的Bean类
<jsp:useBean id="student" class="完整的package名.class"
scope="page/request/session/application" />
//设置Bean类的属性值
<jsp:setProperty name="student" property="Bean类对应的属性名"
value="赋值" />
//获取Bean类的属性值
<%= student.getName() %> //Bean类中对应的public get方法
(二)、利用表单参数名设置
需要导入包,在JSP页面的page指令中使用import导入
form表单不需要设置value值
//JSP引擎会根据表单中的参数名与Bean类中的属性名对应,并转化为对应的数据类型
<form action="" method="post">
<input name="Bean类对应的属性名1"/>
<input name="Bean类对应的属性名2"/>
<input name="Bean类对应的属性名3"/>
<input name="Bean类对应的属性名4"/>
</from>
<jsp:setProperty name="student" property="*" />
<%= student.getName() %>
(三)、利用表单参数值设置
表单参数使用param属性设置Bean属性值,但name名字和属性值名字不同,在标签设置时,用param引用
<form action="" method="post">
<input name="name1">
<input name="number1">
......
</form>
<jsp:setProperty name="student" property="name"
param="name1" />
<%= student.getName() %>