欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Richfaces Bean的View Scope实现

程序员文章站 2024-03-12 19:35:50
...

在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,作为入门,写的非常好。有时间的话,仔细再阅读一遍。