什么是java bean?
java bean 是一种书写类的规范。通过该规范我们可以在类的层面降低耦合性。
package wen;
public class JavaBean {
private String field;
public String getField() {
return field;
}
public void setField(String field) {
this.field = field;
}
}
一个 java bean 有如下特点
1. public class ,保证包外面能调用
2. 属性是private
3. 拥有getter和setter方法
4. 至少有一个无参构造函数。
java bean 在jsp中的应用
java bean 在java ee体系中是一块基石。很多技术都对其提供支持,如jsp 中可以使用<jsp:userbean >
//第一中方法
<jsp:userbean id="bean",class="wen.JavaBean" />
<jsp:setproperty name="bean",property="field" />
//第二种方法
<jsp:userbean id="bean",class="wen.JavaBean">
<jsp:setproperty name="bean",property="field" />
<jsp:userbean />
第一种方法:不管jsp:useBean是找到了一个现有的Bean,还是新创建了一个Bean实例,jsp:setProperty都会执行。
第二种方法:此时,jsp:setProperty只有在新建Bean实例时才会执行,如果是使用现有实例则不执行jsp:setProperty。
jsp:userbean 参数
id :为我们的Bean起一个名字,方便以后定位
class:指定Bean的完整包名。
jsp:setProperty 参数
name: Bean的id(jsp:userbean中的id),必填
property:设置属性,必填
value:为指定的属性设置值,可选,value和param只能选一个
param:它指定用哪个请求参数作为Bean属性的值,可选,value和param只能选一个
Note:
- 如果不写value或param。我们的Bean 就会使用请求中的参数来初始化property指定的属性
如
<jsp:userbean id="bean",class="wen.JavaBean" />
<jsp:setproperty name="bean",property="field" />
实际等价如下代码
<%@ page improt="wen.JavaBean"%>
<%
String field=request.getParameter("field");
JavaBean jb=new JavaBean();
jb.setField(field);
%>
切记getParameter中字符串要和 property中的一样
2. property="*"
或自动从请求的参数中寻找名字匹配单参数
3. 只写value 不写param ,可以用来手动改变属性的值。
<jsp:userbean id="bean",class="wen.JavaBean">
<jsp:setproperty name="bean",property="field",value="hello world" />
<jsp:userbean />
这样我们就可以按照自己的意愿来修改bean的值
4. 只写param不写value。指定使用那个请求参数的值
<jsp:userbean id="bean",class="wen.JavaBean" />
<jsp:setproperty name="bean",property="field param="method" />
等价为
<%@ page improt="wen.JavaBean"%>
<%
String field=request.getParameter("method");
JavaBean jb=new JavaBean();
jb.setField(field);
%>