将参数传递给ViewScoped Bean

我将把一个参数从一个页面(Facelet)传递给一个范围为View Scope的Managed Bean。

我尝试这样做:

import javax.faces.bean.ManagedBean; import javax.faces.bean.ViewScoped; @ManagedBean @ViewScoped public class Mybean { private int id; public int getId() { return id; } public void setId(int id) { this.id = id; } } 

第一页:

         

第二页:

   param value #{param.id} 
bean value #{mybean.id}

但它没有显示20

@ViewScoped bean仅保留用户正在观看的视图。

一旦用户切换到另一个视图 – 该bean正在被销毁并从头开始创建。 因此,如果要将同一个bean用于多个页面 – 请使用@SessionScoped bean。

另一种方法是在Java中创建一个Singleton类,一个bean将更新此类中的值,而另一个bean将从中提取值。