[英]Pass Parameter to 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;
}
}
第一頁:
<h:body>
<h:form>
<h:commandLink value="click" action="index">
<f:setPropertyActionListener target="#{mybean.id}" value="20"/>
</h:commandLink>
</h:form>
</h:body>
第二頁:
<h:body>
param value #{param.id}
<br />
bean value #{mybean.id}
<br />
<h:messages/>
</h:body>
卻不顯示20
@ViewScoped
bean僅在用戶正在觀看的視圖中停留。
一旦用戶切換到另一個視圖-Bean將被破壞並從頭開始創建。 因此,如果要使用同一bean進行一頁以上的@SessionScoped
,請使用@SessionScoped
bean。
另一種方法是用Java創建Singleton
類,一個bean將更新該類中的值,而另一個bean將從中提取值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.