JavaBean中的Bound属性
当一个Bound的属性的值发生了变化的时候,通知其他对象。
例子为Bound的属性发生变化,通知listen,最后又listen.jsp显示出来。
1.首先建立JavaBean,类文件名为Bound.java,代码如下:
package com.vote.bean;
import java.beans.*;
public class Bound {
private String name;
private PropertyChangeSupport support = new
PropertyChangeSupport(this);
public Bound(){
}
public void
addPropertyChangeListener(PropertyChangeListener listener){
if(support==null){
support=new
PropertyChangeSupport(this);
}
support.addPropertyChangeListener(listener);
}
public void
removePropertyChangeListener(PropertyChangeListener
listener){
if(support==null){
support=new
PropertyChangeSupport(this);
}
support.removePropertyChangeListener(listener);
}
public String getName() {
return name;
}
public void setName(String name) {
String tmp = this.name;
this.name = name;
support.firePropertyChange("name",
tmp, name);
}
}
2.监听者为Listen.java类,代码如下:
package com.vote.bean;
import java.beans.*;
public class Listen implements PropertyChangeListener{
private String inform;
public Listen() {
inform="Bean中的属性值没有变化";
}
public void propertyChange(PropertyChangeEvent
evt){
inform="Bean中的属性值发生了变化";
}
public String getInform(){
return inform;
}
}
3.显示的页面为listen.jsp,代码如下:
pageEncoding="utf-8"%>
%>
%>
/p>
Transitional//EN">
Bound属性测试content="no-cache">
content="no-cache">
content="0">
content="keyword1,keyword2,keyword3">
content="This is my page">
Bound
bound=new Bound();
Listen
listen = new Listen();
bound.setName("张三");
%>
name=
%>
bound.addPropertyChangeListener(listen);
bound.setName("李四");
%>
%>
name=
%>