JSF 组件是可以保存状态的, A 保存了上次的状态,B 向数据库更新了最新的。
A 看到的就不是最新的, A 的  getXXX() 这个时候应该时时计算,而不是从组件的 value 中取,而应该用绑定(这个绑定就是一个 到数据库取值得 getter 方法 ).JSF Sun RI :  component.getValue() 先看有没有 value, 如果没有但是 有 ValueBinding 的话,就用 ValueBinding 计算值,也就是说如果你 setValue ( "A"); 之后以后就只能得到 A 而不会在计算了,除非你去掉值。 ( 这是 Sun JSF 1.1 中仍然存在的实现方法,MyFaces 不知道是不是这样的, 但是 isRendered() 则有一个 priver 字段专门记录你是否曾经调用过 setRendered(),如果调用过的话就再也不考虑 ValueBinding 了,因为 isRendered 是个基本类型,不能判断 null  )。