Richfaces Bean的View Scope实现

在jsf + Richfaces的使用中,我们知道Manager Bean的存活范围有:request、session、none三种。

 

但是有时候我们需要MBean的范围比request长、但比session短的作用范围,那就是所谓的View Scope(page scope)。view scope允许你在page范围内进行数据操作,而不是每次发送request都需要创建一个Mbean。

 

实现View Scope方式有两种:

  1. 在页面中使用<a4j:keepAlive beanName="bean" />,beanname属性指定的为要设置作用范围为view scope的Mbean的name。
  2. 另一个方法是在MBean的实现类中:添加:@org.ajax4jsf.model.keeplive
    @org.ajax4jsf.model.KeepAlive
    public class Bean {
    ......
    }

对于第一种方法,应该相对属性,因为在创建“弹出軭”(rich:modalPanel)中常常使用这个设置。

 

对于第二种方法,是初次接触。它是<a4j:keeplive>的java代码实现方式。

a4j:keepAlive cannot be created programmatically using Java. Mark managed bean classes using the org.ajax4jsf.model.keeplive annotation in order to keep their states.

 

参考:Maxa的blog:http://mkblog.exadel.com/jsf/view-scope-in-richfaces/

这家伙所写的Richfaces Practice,作为入门,写的非常好。有时间的话,仔细再阅读一遍。

 

 

 

你可能感兴趣的:(bean,Blog,Richfaces,JSF)