将参数传递给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将从中提取值。