用动态元素自动更新 Web 页面
2010-01-08 00:00:00 来源:WEB开发网
清单 1. 向库存添加和删除侦听器public class Inventory{
……
private Map<String, InventoryListner> listeners =
new HashMap<String,InventoryListner>();
……
public void register(String id, InventoryListner listener){
listeners.put(id, listener);
}
public void deregister(String id){
listeners.remove(id);
}
……
}
库存侦听器可以通过两种 Java 方法从清单 1 中所示的 Inventory 类中添加和删除。假设所有的库存更改都是添加或删除书籍这类动作的结果,那么可以在每次发生这些动作的时候通知所有注册到 Inventory 类的侦听器。清单 2 显示了如何在发生变更时通知侦听器。
清单 2. 发生变更时通知侦听器public class Inventory{
……
public void addBookItem(String bookName,String auther,String price,
String category){
//codes for adding books
categoryChanged();
}
public void removeBookItem(String bookName,String auther,
String price,String category){
//codes for deleting books
categoryChanged();
}
private synchronized void categoryChanged(){
for (InventoryListner listener : listeners.values()) {
listener.categoryChanged();
}
}
}
更多精彩
赞助商链接