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方式有两种:
- 在页面中使用<a4j:keepAlive beanName="bean" />,beanname属性指定的为要设置作用范围为view scope的Mbean的name。
- 另一个方法是在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,作为入门,写的非常好。有时间的话,仔细再阅读一遍。
上一篇: RichFaces文件上传