用动态元素自动更新 Web 页面
2010-01-08 00:00:00 来源:WEB开发网
图 2. 业务处理模型
更新数据模型和创建动态 GUI 元素
构建了能监视服务器端数据变更的框架之后,如果需要这个 bean 在发生任何变更时都能被通知到,那么就要找到一种方法来更新数据模型和创建动态 GUI 元素。这个过程会在这个受管 bean 的内部发生(参见图 2 的 Bean 层),并且能够被分成两个子过程:更新数据模型和创建 GUI 元素。
更新数据模型
这个子过程由之前在清单 3 中所示的 refresh() 方法调用。清单 4 展示了更新数据模型的方法。使用 refresh() 方法来重新组织库存以确保书籍被分配到正确的类别。因此,在更新了数据模型之后,就可以确保其下没有书的那些类别已被删除并且所有新的类别已被添加。
为了让您能更好地理解 refresh() 方法,我先来简单介绍一下我所使用的自定义的数据结构。我使用 Category 类来保存库存信息。Category 类包含类别名以及以 ArrayList<BookItem>.BookItem 类形式表示的书籍的元数据,这些元数据包括书名、作者、价格和类别。清单 4 展示了该如何更新数据模型。
清单 4. 更新数据模型public class InventoryBean implements InventoryListner{
...
private Inventory m_notifier;
private Category[] m_category;
public InventoryBean(){
m_notifier = Inventory.getInstance();
}
private void refresh(){
//reorganize the data model
ArrayList<Category> categoryList = m_notifier.reorgnizeCategory();
// code for converting data to the type used in this bean,
// ArrayList<Category> to Category[]
}
...
}
更多精彩
赞助商链接